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

麻烦各位大佬帮忙看看什么问题?编译器里能运行,这里就错误

import java.util.*;

public class HelloWorldb {

    //完成 main 方法
    public static void main(String[] args) {
        HelloWorldb hello = new HelloWorldb();
        int[] scores = new int[]{89,-23,64,91,119,52,73};
        System.out.println("考试成绩前三名:");

        //调用idea方法
        hello.idea(scores);
    }

    //定义方法完成成绩排序并输出前三名的功能
    public void idea(int[] nums){

        //升序排列数组元素
        Arrays.sort(nums);

        //将数组降序排列
        int[] array = new int[nums.length];/*创建一个新数组接收降序排列的数组*/
        for (int i = 0; i < nums.length; i++) {
            array[i] = nums[nums.length-1-i];
        }

        int j = 0;/*有效成绩个数*/
        for(int a : array){/*遍历数组array*/
            if(a<0 || a>100 ){/*淘汰不符合要求的元素*/
                continue;
            }else{
                System.out.println(a);
                j++;
                if(j >= 3){
                    break;
                }
            }
        }
    }
}


正在回答

1 回答

if(j >= 3){ 

 break;} 应该是 j>3 吧

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

胡歌一号迷弟 提问者

去掉等号在这里确实可以运行成功,并且也提交成功了,但是输出的是四个值,不符合要求。
2018-06-07 回复 有任何疑惑可以回复我~
#2

胡歌一号迷弟 提问者

我刚刚把j的初始值定义为1,然后把等号去掉了,这样就符合要求了,也可以运行。然后我又把j的初始值改回了0,把等号又加上,又可以运行了,所以我估计不是我的错,是这个运行系统的问题。
2018-06-07 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

麻烦各位大佬帮忙看看什么问题?编译器里能运行,这里就错误

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