大神看看我哪里错了

来源:7-1 编程练习

慕的地1533170

2016-04-02 10:40

public static void main(String[] args) {

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

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

Arrays.sort(nums);

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

if(nums[i]>0&&nums[i]<100){

continue;

}

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

if(i<nums.length-3){

break;

}


写回答 关注

5回答

  • 加油_hrh
    2016-04-06 00:32:48
    已采纳

    第一,if条件结构,应该为if(nums[i]<0||nums[i]>100),才跳出;

    第二,if(i<nums.length-3)不对,不能以数组的长度来判断,我们不知道需要几次,只需要选出符合要求的三个最高成绩并排列打印出来就行;

    第三,System.out.println(nums[i]);应该放到后面那个if判断之后,不然循环一次打印一次。

    正确的不用定义方法程序:将你System.out.println("成绩的前三名为");之后改为

    Arrays.sort(nums);

    int count=0;

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

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

                continue;

            }

                count++;

            if(count>3){

                break;

            }

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

    }


    加油_hrh 回复慕的地153...

    客气了,一样是初学,共勉

    2016-04-07 23:05:01

    共 2 条回复 >

  • 慕瓜1570949
    2016-04-02 15:58:23

    成绩在0-100 之间跳出了

  • fantastic_V1ex
    2016-04-02 15:18:32

    如果你这道题是和这一章的例题一样的话,那你第一个if应该为

    if(nums[i]<0||nums[i]>100)

  • 隔壁王叔叔家的小孩
    2016-04-02 12:43:37

    &&  替换成||

    隔壁王叔叔家...

    看错了,第一个if这样改: if(nums[i]>0&&nums[i]<100){ System.out.println(nums[i]); } else continue;

    2016-04-02 12:52:07

    共 1 条回复 >

  • 慕的地1533170
    2016-04-02 10:40:39

    我有导入Arrays的 忘记复制了

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

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

1165550 学习 · 17586 问题

查看课程

相似问题