![](/img/trans.png)
[英]how execute if condition several times without break inside for loop in java?
[英]Java: Is it possible to make line break x times inside for loop?
我嘗試使用Google搜索我的問題StackOverflow,但沒有找到任何答案。
我做了一個數組,其中大小和值都是隨機生成的。 當數組值已被打印20次時,我想換行,但不打印其余值並始終換行。
這是我的代碼:
public static void catArr() {
Random rändöm = new Random();
int size = rändöm.nextInt(100);
int[] arr = new int[size];
for (int i = 0; i < size; i++) {
arr[i] = rändöm.nextInt(100);
}
Arrays.sort(arr);
for (int i = 0; i < size; i++) {
System.out.print(" " + arr[i]);
if (i > 20)
System.out.println(); //How to do this only once?
else if (i > 40)
System.out.println(); //Same here?
}
}
這是生成的輸出之一:
3 8 10 25 30 31 34 38 46 50 55 59 62 66 67 68 68 68 72 76 76 81
82
83
84
86
91
92
93
94
94
97
我認為解決此問題的一種方法是使用二維數組,但我想知道是否還有另一種方法。
是的,感謝Patric,我得到了想要的結果:
0 2 3 7 7 9 11 14 14 16 18 19 24 25 26 28 28 30 30 31
31 33 33 34 41 41 41 42 43 44 45 46 51 51 52 53 59 60 61 62
62 62 63 65 65 67 67 68 69 70 74 74 76 78 82 83 84 84 87 88
89 93 93 94 94 94 95
嘗試使用
if ( ( i % 20 ) == 0 ){
System.out.println();
}
如果我除以20,則沒有余數,然后打印新行!
從字面上看,這將完成您似乎想要的操作:
if (i == 20)
System.out.println();
else if (i == 40)
System.out.println();
但是我有一種感覺,您實際上想在20、40、60等之后添加換行符。
if (i % 20 == 0)
System.out.println();
而且,如果您想在末尾精確輸出一個換行符,則需要這樣的代碼:
for (int i = 0; i < size; i++) {
if (i > 1 && i % 20 == 1) {
System.out.println();
System.out.print(" " + arr[i]);
}
System.out.println();
也許
if (i % 20==0)
可以解決您的其他問題。
使用(++i % 20) == 0
並從循環中刪除i++
; 預先增加避免第一次不必要的換行。
您可以將boolean用於Sys out。
boolean myBoolean = true;
if(myBoolean){
//print
myBoolean = false; //set boolean to false.
}
另一方面,根據我的喜好,我仍然堅持使用整數標記。
int isTrue = 1;
if(isTrue == 1){
//print
isTrue = 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.