数组下标异常
package day4;import java.util.Random;
import java.util.Random;
public class Num {
public static void main(String[] args) {
Random num = new Random();
int[] a = new int;
int s,i = 0;
while (i < a.length){
int b = num.nextInt(100);
for(s = 0; s <= i; s++){
if(b == a){
break;
}else if(s == i){
a = b;
}
}
i++;//i++在这里没有问题
}
for(i = 0; i < a.length; i++){
System.out.println(a);
}
}
}
import java.util.Random;
public class Num {
public static void main(String[] args) {
Random num = new Random();
int[] a = new int;
int s,i = 0;
while (i < a.length){
int b = num.nextInt(100);
for(s = 0; s <= i; s++){
if(b == a){
break;
}else if(s == i){
a = b;
i++;//i++在这里有问题,数组下标异常;
}
}
}
for(i = 0; i < a.length; i++){
System.out.println(a);
}
}
} 因为你第一个是for循环完了i+一次
而你第二个程序是每for循环一次i加一次,当s==i时这里i++了->s<=i就还成立-》将会成为死循环
因为s和i都一直在增1嘛-》所以以后也是会相等的-》所以当超过了a数组的最大下标的时候就会报数组下标异常了{:10_324:}
纯理论分析 应该是
页:
[1]