Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为数组每行仅打印10个元素?_Java_Arrays_For Loop - Fatal编程技术网

Java 如何为数组每行仅打印10个元素?

Java 如何为数组每行仅打印10个元素?,java,arrays,for-loop,Java,Arrays,For Loop,我创建了一个包含50个元素的数组 前25个元素等于索引的平方,后25个元素等于索引乘以3 这是我目前的输出:0114916162536481100121144169196225628932436140044148452957675778818487909396991021051081111111121231291351414447 我想要的输出是: 01 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441

我创建了一个包含50个元素的数组

前25个元素等于索引的平方,后25个元素等于索引乘以3

这是我目前的输出:0114916162536481100121144169196225628932436140044148452957675778818487909396991021051081111111121231291351414447

我想要的输出是:

01 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400 441 484 529 576 75 78 81 84 87 90 93 96 99 102 105 108 111 114 117 120 123 126 129 132 135 138 141 144 147

我尝试过使用printf的格式化功能,但似乎无法使其正常工作。我也尝试过使用if语句,但这给了我一个无法将int转换为boolean的错误

我搜索了一些类似的问题,但它们的解决方案要么太复杂,我无法理解,要么它们不适用于我的特定代码,因为我已经在使用for循环

有没有人有一个简单的方法来实现这一点?这是家庭作业。我把逻辑部分记下来了,讽刺的是,这应该是最难的部分,但是这个格式化部分让我很难堪,哈哈

谢谢你的帮助

这是我现在的代码:

试试这个:

   int[] Number = new int[50];
    for (int i = 0; i < Number.length / 2; i++) {//first loop

        if (i % 10 == 0 && i > 0) {
            System.out.println();
        }
        System.out.print(i * i + " ");

    }

    for (int i = 25; i < Number.length; i++) {//second loop
        if (i % 10 == 0) {
            System.out.println();
        }
        System.out.print(i * 3 + " ");
    }

您不需要数组。您要做的是:

循环50次

第一次,将i设置为0 第二,将i设置为1 第50次,将i设置为49 每次:

如果i<25打印i*i 如果i>=25,则打印i*3 每10次,打印一行新内容

以下是在没有阵列的情况下执行此操作的方法:

int size = 50;
for (int i = 0; i < size; i++) {
    // Print a newline after every 10 elements
    if (i != 0 && i % 10 == 0) {
        System.out.println();
    }

    // Print i * i for 0 up to but excluding 25
    // Print i * 3 after that
    if (i < size / 2) {
        System.out.print(i * i + " ");
    } else {
        System.out.print(i * 3 + " ");
    }
}
int[] myArr = new int[50];
for (int i = 0; i < myArr.length; i++) {
    if (i != 0 && i % 10 == 0) {
        System.out.println();
    }

    if (i < size / 2) {
        System.out.print(i * i + " ");
    } else {
        System.out.print(i * 3 + " ");
    }
}
如果确实要在数组的元素上循环,请执行以下操作:

int size = 50;
for (int i = 0; i < size; i++) {
    // Print a newline after every 10 elements
    if (i != 0 && i % 10 == 0) {
        System.out.println();
    }

    // Print i * i for 0 up to but excluding 25
    // Print i * 3 after that
    if (i < size / 2) {
        System.out.print(i * i + " ");
    } else {
        System.out.print(i * 3 + " ");
    }
}
int[] myArr = new int[50];
for (int i = 0; i < myArr.length; i++) {
    if (i != 0 && i % 10 == 0) {
        System.out.println();
    }

    if (i < size / 2) {
        System.out.print(i * i + " ");
    } else {
        System.out.print(i * 3 + " ");
    }
}
此外,将变量命名为数字也不是一个好主意,因为:

Java中已经有一个名为的类,它可能会让读者感到困惑。 按照约定,Java中的变量应为camelCase。PascalCase中的类名请参见。
数组是否需要存储正确的值

int[] numbers = new int[50];
for (int i=0; i<numbers.length; ++i) { //calculating correct value into the array
    numbers[i] = (i < 25) ? i * i : i * 3;
}

for (int i=0; i<numbers.length; ++i) { //displaying data
    if (i % 10 == 0 && i > 0) {
        System.out.println();
    }
    System.out.print(numbers[i] + " ");
}
我希望这有帮助

int[] arrNum = new int[50];
for (int i = 0; i < numbers.length; ++i) { //First loop to enter the data
 numbers[i] = ((i < 25) ? i * i : i * 3);
}

for (int i = 0; i < numbers.length; ++i) { //Second loop to output data
 if (i % 10 == 0) System.out.println;
 System.out.print(numbers[i] + " ");
}

为什么要将两个循环合并为一个,在每个循环中添加一个额外的if,使代码更难理解?您不必这样做。这取决于你。具体的任务是什么?因为这样存储数据是非常不自然的。如果您只需要输出数字,有更好的方法。请详细说明,张贴代码是不够的,请查看