问答详情
源自:7-1 编程练习

新手求问啊

import java.util.Arrays;
public class HelloWorld {
   
    //完成 main 方法
    public static void main(String[] args) {
     int[] scores={89,-23,64,91,119,52,73}; 
       Arrays.sort(scores);
      
     for(int i=scores.length;i>=0;i--) {
         if(scores[i]>100||scores[i]<0){
             continue;
         }
          for(int sum=0;sum<=3;sum++){
              break;
          }
           System.out.println(scores[i]);
        
     } 
       
       
    }
   
    //定义方法完成成绩排序并输出前三名的功能
     
}

我一直认为不用Java方法能解决这道题,求大神解救迷茫的我

提问者:qq_零_14 2015-12-08 23:24

个回答

  • Caballarii
    2015-12-08 23:37:12
    已采纳

    首先,i的值是从0到scores.length-1,for循环的初始化就错了

    其次,需要在循环外定义变量控制只输出三个数

     public static void main(String[] args) {
         int[] scores={89,-23,64,91,119,52,73}; 
           Arrays.sort(scores);
         
           int sum=0;
         for(int i=scores.length-1;i>=0&&sum<3;i--) {
             if(scores[i]>100||scores[i]<0){
                 continue;
             }
               System.out.println(scores[i]);
               sum++;        
         }      
        }

    修改过的main函数你参考一下

  • sxian_wang
    2015-12-08 23:32:14

    你不用Arrays.sort()方法的话可以自己写一个排序算法。冒泡就行,简单点。然后你求下数组前三个的平均值输出就行。