慕瓜0115291
2018-11-13 19:02
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++;
}
}
}
}
首先,你定义数组的方法是错误的,正确的方法是 int[] scores= new int[]{164,10,89,-52,-73};
其实你这个可以理解为没有循环 只判断了一次结束程序 就是这样
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一圈啊老哥
上面的说的是对的,因为你只走了一遍循环,只在if里面。但是你scores数组里面的第一个成绩就是164,走到if条件的时候你已经把它排除掉了。
if(scores[i]>0 || scores[i]<100){ // scores[0] -> 164,跳出if条件程序终止
正确的做法应该是写一个循环
for (int i = 0; i < scores.length(); i++) { // ...你想做的什么事情加到这个循环里面... // 在没有使用break的情况下,会遍历整个数组 }
有需求吗?可以的话把需求先告诉我们。
if(i<scores.length) {
System.out.println(scores[i]);
i++;
} ,看你写的这个代码,貌似需求要循环遍历判断,但是你并没有循环关键字,比如for。
Java入门第一季(IDEA工具)升级版
1165646 学习 · 17587 问题
相似问题