运行我的代码时,出现如下错误:
Exception in thread "main" tony
java.lang.ArrayIndexOutOfBoundsException: 1
at tt.main(tt.java:17)
代码如下:
import java.util.ArrayList;
import java.util.Arrays;
public class tt {
static int oldAge[];
static Integer ages[];
static ArrayList<Integer> ageObject;
public static void main(String args[]){
System.out.println("tony");
setAges();
System.out.println(ages[1].intValue());
System.out.println(oldAge[2]);
}
public static void setAges(){
oldAge = new int[3];
oldAge[0] = 50;
oldAge[1] = 60;
oldAge[2] = 70;
ages = new Integer[1];
ages[0] = 50;
ageObject = new ArrayList<Integer>(Arrays.asList(ages));
for(int x =0; x < oldAge.length; x++){
if(oldAge[x] == 60){
ageObject.add(oldAge[x]);
}
else if(oldAge[x] == 56){
ageObject.add((Integer)(oldAge[x]));
}
else if(oldAge[x] == 70){
ageObject.add((Integer)(oldAge[x]));
}
}
}
}
我希望代码打印出应该是60岁的年龄的新增加的值。
答案 0 :(得分:2)
此行
System.out.println(ages[1].intValue());
不正确。 ages
就是一个元素。应该是
System.out.println(ages[0].intValue());
我没有其他改变
tony
50
70
要获取60
,您需要打印oldAge
的第二个元素。喜欢,
System.out.println(oldAge[1]);