繁体   English   中英

如何为阵列每行打印10个元素?

[英]How do I print out only 10 elements per line for my array?

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

前25个元素等于索引的平方,最后25个元素等于索引时间3。

这是我当前的输出: 0 1 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

我想要的输出是这样的:

0 1 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循环而无法使用我的特定代码。

有没有人有一个简单的方法来实现这一目标? 这是一个家庭作业。 我有逻辑部分,具有讽刺意味的应该是困难的部分,但这个格式化部分让我难倒lol

我感谢任何帮助!

这是我现在的代码:

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

    System.out.print(i * i + " ");

}

for(int i = 25; i < Number.length; i++) {//second loop

    System.out.print(i * 3 + " ");
}

你不需要一个数组。 你想要做的是:

循环50次

  • 第一次,将i设置为0
  • 2,将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 + " ");
    }
}

将变量命名为Number也不是一个好主意,因为:

  • Java中已经有一个名为Number的类,可能会让读者感到困惑。
  • 按照惯例,Java中的变量应该在camelCase PascalCase类名(见这里 )。

尝试这个:

   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 + " ");
    }

阵列是否需要存储正确的值?

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] + " ");
}
int[] array = new int[50];
int count = 0; // To print 10 elements per line
for(int I = 0; I < array.length; I++) {
    if (count == 10) {            
        System.out.println();        
        count = 0;
    }    
    System.out.print(a1[i] + " ");
    count++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM