为了账号安全,请及时绑定邮箱和手机立即绑定

新手求问啊

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 回答

首先,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函数你参考一下

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1163388    人
  • 解答问题       17551    个

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

进入课程

新手求问啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信