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 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] 出现数组越界的异常 请问如何解决啊?
初始化之后就不可以修改了啊?
我后面indexa改变了 数组都不改变吗?
int index = 1;
int[] a = new int[indexa];
int[] b = new int[index];
这2个数组长度只有1
数组的长度是不能改变的,初始化的时候就确定了。
一旦new了,它的长度就固定了。
int[] a = new int[1024];
int[] b = new int[1024];
int Array[];
int i=10;
Array=new int[i];
//这样你可以在确定长度值之后new一下,估计没你要的效果,建议用Collection或其他。