我正在嘗試撰寫一個顯示數字 1 到 100 的程式。我想在每 20 個數字后換行。我曾嘗試使用一個計數器回圈,它在每 20 個數字后自行重置,但程式無限運行。我該如何解決?
public class zahlen1_bis_100 {
public static void main(String[] args) {
for (int x = 1; x <= 100; x ) {
for (int counter = 1;counter <= 20; counter ) {
if (counter == 20) {
System.out.println();
counter = 1;
}
}
System.out.print(x " ");
}
}
}
uj5u.com熱心網友回復:
使用內部回圈沒有意義。取而代之的是,您可以實作 if 陳述句以進入下一行。
邏輯 => 如果數字是 20 的倍數,則進入下一行。
實施 =>
public static void main(String[] args) {
for (int x = 1; x <= 100; x ) {
System.out.print(x " ");
if(x%20==0){
System.out.println();
}
}
輸出 =>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
uj5u.com熱心網友回復:
for (int x = 1; x <= 100; x ) {
System.out.print(x
(x % 20 == 0 ? "\n" : " ")
);
}
}
在 print 內部,它列印x然后檢查是否x是 20 的倍數以列印新行;否則列印一個空格。它是Ternary Operator格式的,但也可以用普通的 if 塊格式撰寫:
for (int x = 1; x <= 100; x ) {
System.out.print(x);
if (x % 20 == 0)
System.out.print(" ");
else
System.out.println();
}
}
uj5u.com熱心網友回復:
謝謝大家的幫助!我想創建一個“統一”的輸出外觀,所以我最終得到了以下代碼:
public class zahlen1_bis_100 {
public static void main(String[] args) {
for (int x = 1; x <= 100; x ) {
if (x < 10) {
System.out.print(x " ");
} else {
System.out.print(x " ");
}
if (x % 20 ==0) {
System.out.println();
}
}
}
}
[Result][1]
[1]: https://i.stack.imgur.com/66tXZ.png
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/526654.html
標籤:爪哇for循环数字换行符
