提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我试图通过以下代码从这个数组中删除重复的元素,它给了我这个错误:
线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:索引 13 超出 pro2.Main.main 处长度 13 的范围(Main.java:36)
编码:
public static void main(String[] args) {
int[] x = { 2, 2, 3, 5, 6, 3, 5, 6, 7, 8, 9, 1, 7 };
Integer[] o = new Integer[x.length];
for (int i = 0; i < x.length; i++) {
o[i] = Integer.valueOf(x[i]);
}
for (int i = 0; i < x.length; i++) {
for (int j = i + 1; i < x.length; j++) {
if (o[i] == o[j]) {
o[j] = null;
}
}
}
for (int i = 0; i < x.length; i++) {
if(o[i]!=null)
System.out.print(o[i]);
}
}
你这里有一个错字:
for(int j = i+1 ; i<x.length ; j++) {
^ this should be j
当前的(错误的)循环在运行到数组末尾之前不会停止。 结果,您试图获取 x[12+1] 的值,即 x[13],超出数组范围。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.