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

编写代码,为神魔运行结果不对,我实在看不出来了

public class HelloWorld {

    

    //完成 main 方法

    public static void main(String[] args) {

        int i=0;

        int[] scores={164,10,89,-52,-73};

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

           

             if(i<scores.length)  {

             

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

             i++;

              }    

              

        }

     

        

        }   

    }

    


正在回答

6 回答

首先,你定义数组的方法是错误的,正确的方法是 int[] scores= new int[]{164,10,89,-52,-73};

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

慕神8293695

这个可以忽略0.0
2018-11-13 回复 有任何疑惑可以回复我~
#2

慕瓜0115291 提问者

定义数组不是有三种办法吗
2018-11-16 回复 有任何疑惑可以回复我~
#3

慕仰5167399

数组定义正确着呢,定义数组的方法有好几种
2018-11-18 回复 有任何疑惑可以回复我~

其实你这个可以理解为没有循环  只判断了一次结束程序   就是这样

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

public static void main(String[] args) {

        int[] scores={164,10,89,-52,-73};

        Arrays.sort(scores);

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

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

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

             j++;

             if(j==3) break;

            }        

        }

}

你想输出三个值,却只有一个输出。。for一圈啊老哥

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

上面的说的是对的,因为你只走了一遍循环,只在if里面。但是你scores数组里面的第一个成绩就是164,走到if条件的时候你已经把它排除掉了。

 if(scores[i]>0 || scores[i]<100){ // scores[0] -> 164,跳出if条件程序终止

正确的做法应该是写一个循环

for (int i = 0; i < scores.length(); i++) {
    // ...你想做的什么事情加到这个循环里面...
    // 在没有使用break的情况下,会遍历整个数组
}


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

慕瓜0115291 提问者

好的,我去试下
2018-11-16 回复 有任何疑惑可以回复我~

有需求吗?可以的话把需求先告诉我们。


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

慕瓜0115291 提问者

你们做课程快吗,我感觉我就特慢,而且还得看好几遍
2018-11-16 回复 有任何疑惑可以回复我~

if(i<scores.length)  {

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

             i++;

              }    ,看你写的这个代码,貌似需求要循环遍历判断,但是你并没有循环关键字,比如for。


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

慕神8293695

这个也可以忽略0.0
2018-11-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

编写代码,为神魔运行结果不对,我实在看不出来了

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