数组越界问题求解
public void countFactor(int n) {
int k = 1;
int i = n;
int temp = 1;
int indexa = 1;
int index = 1;
int[] a = new int[indexa];
int[] b = new int[index];
// System.out.print(n + "=");
while (n > k) {
if (n % k == 0) {
// System.out.print(k + "*");
a[indexa - 1] = k;
indexa++;
n = n / k;
}
k++;
}
while (temp != i) {
for (int j = a.length; j > 0; j--) {
while (a[j] != 0 || a[j] != 1) {
temp = temp * a[j];
b[index - 1] = a[j];
index++;
}
}
}
for (int j = b.length; j > 0; j--) {
System.out.println(b[j]);
}
}
编译 数组a[indexa-1] 出现数组越界的异常 请问如何解决啊?
------解决方案--------------------你的数组长度,在初始化的时候
int[] a = new int[indexa];
------解决方案--------------------Java code
int indexa = 1;
int index = 1;
int[] a = new int[indexa];
int[] b = new int[index];
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
一旦new了,便定了...
Java code
int[] array=new int[4];
int Array[];
int i=10;
Array=new int[i];
//这样你可以在确定长度值之后new一下,估计没你要的效果,建议用Collection或其他。
------解决方案--------------------
如果想让数组的容量变化,只能用ArrayList!!
------解决方案--------------------