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

想的脑袋疼,哪里错了?

import java.util.Arrays;

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

       HelloWorld score = new HelloWorld();

       int[] scores = {89,-23,64,91,119,52,73};

        System.out.println("前三名成绩是:");

        score.so(scores);

    }

    

    //定义方法完成成绩排序并输出前三名的功能

   public void so(int[] scores)

   {

       Arrays.sort(scores);

       int a=0;

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

  if(scores[i]<0||scores[i]>100){

  continue;

  }

  a++;

  System.out.println(scores[i]);

  

  }

   }

}


正在回答

6 回答

i >= 0 && a > 3

你的a等于0,不满足条件,不执行循环。应该这么写:

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


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

l0nger 提问者

非常感谢!谢谢,脑袋混乱了。。
2016-08-15 回复 有任何疑惑可以回复我~

请问  第八章怎么才只有一节啊?


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

l0nger 提问者

因为这是最后一节,请进入第二季
2016-08-15 回复 有任何疑惑可以回复我~

应该是a<3

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

是的,应该是a<3

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

应该是 a<3

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

i>=0&&a>3

这一句啊。你一开始 int a= 0,条件都不符合a>3,循环不执行。

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

举报

0/150
提交
取消

想的脑袋疼,哪里错了?

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