我正在使用 for 循环来创建 13 的前 400 个倍数,并且我试图将这些数字存储到一个数组中。具体问题在第 5 行。我知道这段代码使程序写入数组的第一个元素,这是导致问题的原因。有什么办法可以按顺序存储数字吗?
public static void main(String[] args) {
int[] thirteenMultiples = new int[400];
for (int dex = 1; dex < thirteenMultiples.length; dex ++) {
int multiples = 13 * dex;
thirteenMultiples[0] = multiples;
System.out.println(Arrays.toString(thirteenMultiples));
最佳答案
数组索引从 0 开始,因此将 int dex = 1
更改为 int dex = 0
。此外,您应该使用计数变量 dex
写入正确的数组索引:
public static void main(String[] args) {
int[] thirteenMultiples = new int[400];
for (int dex = 0; dex < thirteenMultiples.length; dex ++) {
int multiples = 13 * dex;
thirteenMultiples[dex] = multiples;
System.out.println(Arrays.toString(thirteenMultiples));
}
}
顺便说一句:Arrays.toString(thirteenMultiples)
在每次迭代中都是一项相当昂贵的操作(尝试自己编写此方法,您会明白我的意思)。也许你应该只打印 thirteenMultiples[dex]
的当前值,并在循环结束后打印你的数组。我假设您现在只是在测试和尝试一些东西,但我认为从一开始就牢记这些事情是件好事 ;)
关于Java - 将for循环的输出存储到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48449004/