簡體   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