问答详情
源自:7-1 编程练习

braek 跳出循环问题

8-1 break 只跳出一层循环,怎么实现输出前三名成绩

提问者:expressqingqing 2016-03-01 14:01

个回答

  • mirosar
    2016-03-05 23:01:47

    public class HelloWorld {
    import java.util.Arrays;
        //完成 main 方法
        public static void main(String[] args) {
            HelloWorld getGrades = new HelloWorld(); //创建对象getGrades
         int[] result = getGrades.exam(89,-23,64,91,119,52,73);//调用对象并传入参数
        }
       
        //定义方法完成成绩排序并输出前三名的功能
        public int[] exam(int a,int b,int c,int d,int e,int f,int g){//构造包含参数的exam方法
         int[] scores = {a,b,c,d,e,f,g};//创建数组
      Arrays.sort(scores); //对数组进行升序排序
      int effGra = 0; //定义并初始化有效成绩个数
      for (int i = scores.length-1;i >= 0;i--){ //倒序遍历数组
       if ((scores[i]<0)||(scores[i]>100)){ //如果成绩小于 0 或大于 100
        continue;       //则使用 continue忽略此成绩
       }
       effGra++; //有效成绩+1
       if (effGra > 3){ //如果有效成绩数大于 3
        break; //则结束循环
       }
       else{
        System.out.printf(scores[i]+"\t"); //只输出成绩的前三名
       }
      }
      return scores;
     }
    }

  • expressqingqing
    2016-03-01 14:05:13

    我知道为什么了