【发布时间】:2015-09-10 19:18:21
【问题描述】:
我写了这段代码:
class test {
public static void main(String args[]) {
int array[] = {1,2,3,4,5,6};
int i = 0;
int b = 0;
int c = 0;
method.dog(i, b, c, array);
}
}
public class method {
static void dog (int i, int b, int c, int array[]) {
if (array[i] <= array[c]) {
if (c == (int) array.length +1 ) {
int y = array[i];
array[i] = array[b];
array[b] = y;
if (b == array.length +1) return;
else b++; i =b; c=b; dog( i, b, c, array);
}
else c++; dog( i, b, c, array);
}else i ++; c= b; dog( i, b, c, array);
}
}
我一遍又一遍地遇到同样的问题。它一直在说我要越界了。我该如何解决这个问题?
【问题讨论】:
-
你试过调试了吗?
-
已删除脏话。算了,没必要。
-
尝试打印您的数组的值,以便您可以隔离它发生的位置。您可能正在尝试使用数组中不存在的索引
-
哦,为了调试和可读性,请在 if-else 语句周围使用大括号。我认为您可能会被“单行 if-else”的东西所困扰。
标签: java indexoutofboundsexception quicksort