为什么输出结果不同?

来源:7-1 编程练习

慕移动8447653

2017-08-11 20:04

import java.util.Arrays; public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

        HelloWorld hello=new HelloWorld();

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

        hello.score(scores);

        

        

    }

    

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

    public void score(int[] scores){

        Arrays.sort(scores);

        int num=0;

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

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

                continue;

            }num++;

            if(num>=3){

                System.out.println(scores[i])

            }

             

            

        }

        

        

    }

    

    

-------------------------------------------------------------------------------------

import java.util.Arrays; public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

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

        HelloWorld hello=new HelloWorld();

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

        hello.score(scores);

        

        

    }

    

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

    public void score(int [] scores){

        Arrays.sort(scores);

        int num=0;

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

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

                continue;

            }num++;

            if(num>3){

              break;

            }

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

             

            

        }

        

    }}

    

    

    


写回答 关注

1回答

  • 实木雕花加工
    2017-08-11 22:19:23
    已采纳

    第一种方法在num>=3时才打印输出数据,这样刚好把前三名给去掉了(不打印),即打印输出前三名以后的数据,直达最后。第二种方法在num>3时用break跳出 for循环,这样只能打印出前三名

    慕移动844...

    非常感谢!

    2017-08-12 20:21:56

    共 1 条回复 >

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

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

1165171 学习 · 17581 问题

查看课程

相似问题