新手求问啊

来源:7-1 编程练习

qq_零_14

2015-12-08 23:24

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方法能解决这道题,求大神解救迷茫的我

写回答 关注

2回答

  • 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()方法的话可以自己写一个排序算法。冒泡就行,简单点。然后你求下数组前三个的平均值输出就行。

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165171 学习 · 17581 问题

查看课程

相似问题