gpt4 book ai didi

java - 为什么我的 while 循环无法计算数组的总和并显示数组

转载 作者:行者123 更新时间:2023-11-29 06:30:12 24 4
gpt4 key购买 nike

我试图显示一个随机数组,同时也显示该数组的总和,但我无法让它工作,我知道如何使用 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);

}

最佳答案

您正在过早地递增 i,导致 ArrayIndexOutOfBoundsException。您应该在分配一些 a[i] 之后递增它。

改成

    while (i < a.length) {
a[i] = 1 + (int) (Math.random() * 10);
i++;
}

现在循环的行为类似于 for 循环 - 即 i 在循环体的所有其他语句之后递增。

你的其他循环也应该是固定的,事实上,你所有的循环都可以合并成一个循环:

    int i = 0;
while (i < a.length) {
a[i] = 1 + (int) (Math.random() * 10);
myWindow.writeOutLine(a[i]);
total += a[i];
i++;
}

关于java - 为什么我的 while 循环无法计算数组的总和并显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36719625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com