gpt4 book ai didi

java - 打印每行有 10 个元素的数组元素

转载 作者:行者123 更新时间:2023-12-04 11:32:54 25 4
gpt4 key购买 nike

我刚刚创建了一个包含 100 个初始化值的数组,我想在每一行打印出 10 个元素,所以它会像这样

0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16
...26

这是我使用的代码,我设法为前 10 个元素做到了,但我不知道如何为其余的做到这一点

public static void main(String[] args) {

int[] numbers = { 0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17};
int i, count = 0;

for (i = 0; i < numbers.length; i++) {

System.out.print(numbers[i] + " ");
count++;

if (count == 9)
for (i = 9; i < numbers.length; i++)
System.out.println(numbers[i] + " ");
}
}

最佳答案

    int[] numbers = new int[100];
for (int i = 0; i < numbers.length; i++) {
if (i % 10 == 0 && i > 0) {
System.out.println();
}
System.out.print(numbers[i] + " ");
}

这会在打印 numbers[i] 之前打印一个换行符,其中 i % 10 == 0i > 0% 是模运算符;如果 i/10,它返回余数。所以 i % 10 == 0i = 0, 10, 20, ... 时。


至于您的原始代码,您可以按如下方式稍作修改使其工作:

int count = 0;
for (int i = 0; i < numbers.length; i++) {
System.out.print(numbers[i] + " ");
count++;
if (count == 10) {
System.out.println();
count = 0;
}
}

基本上,count 是您在这一行中打印了多少个数字。一旦它达到 10,您就打印换行符,然后将其重置为 0,因为您正在开始一个新行,并且对于该行,您还没有打印任何数字(还)。


请注意,在上述两个解决方案中,每行末尾都打印了一个额外的空格。这是一个更灵活的实现,只在必要时使用分隔符(水平和垂直)。它只是稍微更复杂。

static void print(int[] arr, int W, String hSep, String vSep) {
for (int i = 0; i < arr.length; i++) {
String sep =
(i % W != 0) ? hSep :
(i > 0) ? vSep :
"";
System.out.print(sep + arr[i]);
}
System.out.println(vSep);
}

如果您将其称为 say,如 print(new int[25], 5, ",", ".\n");,那么它将打印 25 个零,每行 5 个.每行末尾有一个句点 (.),一行中的零之间有一个逗号 (,)。

关于java - 打印每行有 10 个元素的数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661489/

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