为什么用while结果和用if不一样

来源:7-1 编程练习

charles93

2015-12-23 09:55

import java.util.Arrays;

public class method2 {

    

    //完成 main 方法

    public static void main(String[] args) {

    method2 hello=new method2();

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

        hello.sortScore(scores);           

    }

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

    public void sortScore(int[] scores){

        Arrays.sort(scores);

        int count=0;

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

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

                continue;

            }

            else{

                

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

                count++;

               if(count>=3){//****************这里用while为什么结果不一样?********

                break;

                }

             }   

            

            

        }

    }

}


写回答 关注

4回答

  • 是王小二呀
    2015-12-23 10:28:38

    第一:你用使用if判断结束for循环,程序是完全正确的;

    第二:若将if换成while,则for循环里嵌套了一个while循环,

    第三:break语句位于while循环体内则代表结束while循环,

    第四:while循环判断语句为count>=3,仅当满足条件while退出,

    第五:while循环退出之后等于没有,此时for循环做的事就是遍历并输出排序后的符合第一个if条件下的值

  • 努力提升
    2015-12-23 10:07:45

    而且你的这个代码最后面多了一个大括号

  • 朝花
    2015-12-23 10:06:13

    while里用 break 是跳出 while循环 ,用 if才会是 跳出  for循环。

  • 努力提升
    2015-12-23 10:02:58

    if是判断语句,while是循环语句你搞混了啊

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

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

1163393 学习 · 17551 问题

查看课程

相似问题