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

输出的成绩是从第二个开始,求解答

package asdf;
import java.util.Arrays;
public class HelloWorld {
  public static void main(String[] args) {
      HelloWorld test= new HelloWorld();
      int scores[]= {89,-23,64,91,119,52,56};
      test.sortOut(scores);
  }
  public void sortOut(int scores[]) {
   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;
    sum++;
     System.out.println(scores[i]);
    }
   }
   
}


正在回答

4 回答

谢谢?,一时头懵了

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

你这个问题问的什么?

Arrays.sort(scores);  //以后scores=[-23,52,56,64,89,91,119];

for(int i=scores.length-1;i>=0&&sum<3;i--)   

//sum从0开始自增,到不满足sum<3,for里面只能运行system.out.println()  3次,

if(scores[i]>100||scores[i]<0)  //score里面的值大于100,<0都不能输出

所以结果为91 89 64 , 没毛病啊老铁

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

第一个大于100了

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

第一个119大于100,会执行continue,后面的语句不会执行,所以输出的第一的应该是91,不是119

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

举报

0/150
提交
取消

输出的成绩是从第二个开始,求解答

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