作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以基本上我想制定一个算法来洗牌我的数组,我所拥有的就是这个:
import java.util.*;
class MixUp{
public static void main(String args[]){
int temp, i=0;
boolean flag=true;
int Table[] = new int[5];
Scanner input = new Scanner(System.in);
for(i=0; i<5; i++){
System.out.println("Number? : ");
Table[i] = input.nextInt();
}
for(i=0; i<5; i++){
System.out.printf(Table[i] + "\t");
}
for(i=0; i<5; i++){
temp = Table[i+1];
Table[i+1] = Table[Table.length-i];
Table[Table.length-i] = temp;
if(i+1 == Table.length-i) break;
}
for(i=0; i<5; i++){
System.out.printf(Table[i] + "\t");
}
}
}
而且它不断弹出
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at MixUp.main(MixUp.java:17)
最佳答案
倒数第二个循环迭代 while i<5
,这很好,但随后尝试访问 Table[i+1]
。如果i=4
这将导致尝试访问 Table[5]
,当然,这不是一个有效的索引。
解决这个问题的一种方法可能是将循环的条件更改为 i<4
而不是i<5
.
关于java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException :5 What?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32928689/
我是一名优秀的程序员,十分优秀!