[英]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.