想的脑袋疼,哪里错了?

来源:7-1 编程练习

l0nger

2016-08-14 23:36

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

  • 慕粉void
    2016-08-15 09:13:58
    已采纳
    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;
    		   }
    	   }
       }
    }


    l0nger

    非常感谢!谢谢,脑袋混乱了。。

    2016-08-15 11:13:14

    共 1 条回复 >

  • 慕粉3819160
    2016-08-15 09:16:49

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


    l0nger

    因为这是最后一节,请进入第二季

    2016-08-15 11:14:53

    共 1 条回复 >

  • Alivegirl
    2016-08-15 08:57:51

    应该是a<3

  • 磁单极
    2016-08-15 08:18:24

    是的,应该是a<3

  • Chaooos
    2016-08-15 01:01:57

    应该是 a<3

  • Chaooos
    2016-08-15 00:59:39

    i>=0&&a>3

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

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

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

1165172 学习 · 17581 问题

查看课程

相似问题