【发布时间】:2015-08-07 13:45:03
【问题描述】:
我写了一个函数,它应该交换到整数数组的索引。
我的问题是,当我尝试实现交换功能时,
我收到此错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at pa5.swap(pa5.java:24)
at pa5.nextPermutation(pa5.java:66)
at pa5.main(pa5.java:12)
这里是代码
nextPermutation(A); //line 12, call to function in main()
static void swap(int[] Q, int i, int j){
int temp = Q[i]; //line 24
Q[i] = Q[j];
Q[j] = temp;
}
swap(A, pivot, successor); //line 66 inside of nextPermutation function
我不明白为什么会出现此错误。我将不胜感激有关如何理解和解决此错误的任何提示。
【问题讨论】:
-
A的内容是什么 -
你使用的字符串的长度是多少?
-
你的意思是swap(A, 1, 2)吗?错误很明显:您的数组索引超出了该数组的范围。
-
length - 数组索引从 0 开始。这意味着如果有 5 个项目 - 索引 0 到 4。