java为什么我的while循环不能计算数组的和并显示数组
我试图显示一个随机数组,同时也显示该数组的和,但我无法让它工作,我知道如何使用for循环,但我被指示改为使用while循环,有什么想法吗
private void SumOfArray() {
myWindow.clearOut();
int total = 0;
int[] a = new int[4];
int i;
i = 0;
while (i < a.length) {
i++;
a[i] = 1 + (int) (Math.random() * 10);
}
i = 0;
while (i < a.length) {
i++;
myWindow.writeOutLine(a[i]);
}
while (i < a.length) {
total += a[i];
i++;
}
myWindow.writeOutLine(total);
}
# 1 楼答案
此外,您还有3个while循环和两次将
0
分配给i
# 2 楼答案
您过早地增加了
i
,导致了ArrayIndexOutOfBoundsException
。您应该在分配数a[i]
后增加它换成
现在循环的行为类似于for循环,即
i
在循环体的所有其他语句之后递增您的其他循环也应该是固定的,事实上,您的所有循环都可以合并到单个循环中: