如何为我的数组每行仅打印出 10 个元素



我创建了一个包含 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 转换为布尔值"错误。

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

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

我感谢任何帮助!

这是我现在的代码:

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
  • 2nd,将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++;
}

最新更新