Java - 将for循环的输出存储到数组中

标签 java

我正在使用 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/

相关文章:

Java 编译器找不到我的 Scanner 变量

java - 为什么 GWT 应用程序不显示?

java - 如何抑制所有初始化错误

java - 为什么不能从 JDBC CallableStatement 调用返回 SETOF 的 Postgres 函数?

java - 仅混淆 Android 中的一个类文件

java - 保存后 hibernate 插入

Java将ArrayList转换为int数组

c# - 在 C# NET 中运行 Java 应用程序

java - 如何在 JTextfield 上添加 command+a?

java - 使用 CriteriaQuery 时如何限制结果