如何在20行中每行打印10个项目。然后我想跳到下一个阵列并做同样的事情。之后要求用户继续输入。
以下是我的示例输出:
===================================== After Level 1 Merged ==========================================
{ 129 } { 133 } { 354 } { 425 } { 632 } { 779 } { 1067 } { 1126 } { 1185 } { 1306 }
{ 1373 } { 1384 } { 1472 } { 1607 } { 1731 } { 1756 } { 1854 } { 1907 } { 1982 } { 2029 }
{ 54 } { 225 } { 259 } { 426 } { 449 } { 683 } { 728 } { 911 } { 920 } { 1009 }
{ 1056 } { 1266 } { 1288 } { 1323 } { 1404 } { 1666 } { 1848 } { 1912 } { 1968 } { 1970 }
{ 1997 } { 2021 }
===================================== After Level 2 Merged ==========================================
{ 54 } { 129 } { 133 } { 225 } { 259 } { 354 } { 425 } { 426 } { 449 } { 632 }
{ 683 } { 728 } { 779 } { 911 } { 920 } { 1009 } { 1056 } { 1067 } { 1126 } { 1185 }
{ 1266 } { 1288 } { 1306 } { 1323 } { 1373 } { 1384 } { 1404 } { 1472 } { 1607 } { 1666 }
{ 1731 } { 1756 } { 1848 } { 1854 } { 1907 } { 1912 } { 1968 } { 1970 } { 1982 } { 1997 }
{ 2021 } { 2029 }
这是我的代码:
System.out.printf("\nmy header \n\n", MemberConstant.MERGERSEC);
for (int i = 0; i < K; i++) {
for (int j = brds[i].start; j < brds[i].size + brds[i].start; j++) {
System.out.printf(" {");
System.out.printf("%6d ", a[j]);
cnt1++;
System.out.printf("}");
if(cnt1 == 10) {
System.out.printf("\n");
mod2++;
cnt1=0;
}
}
}
cnt1=0;
System.out.printf("my header\n\n", MemberConstant.MERGERSEC2);
for (int k = 0; k < K; k++) {
for (int l = brds[k].start; l < brds[k].size + brds[k].start; l++) {
System.out.printf(" {");
System.out.printf("%6d ", b[l]);
cnt1++;
System.out.printf("}");
if(cnt1 == 10) {
System.out.printf("\n");
mod2++;
cnt1=0;
}
}
}
答案 0 :(得分:1)
我认为你应该有一个单独的方法来打印数组,另一个循环来询问用户。像这样:
private int printArr(ArrayType a, int start, int rows) {
rows = Math.min(rows, a.length - start);
cnt1 = 0;
for (int i = start; i < rows; i++) {
for (int j = brds[i].start; j < brds[i].size + brds[i].start; j++) {
System.out.printf(" {");
System.out.printf("%6d ", a[j]);
cnt1++;
System.out.printf("}");
if(cnt1 == 10) {
System.out.printf("\n");
mod2++;
cnt1=0;
}
}
}
return start + rows; // current position
}
并询问用户:
int aStart = 0;
int bStart = 0;
int rows = 20;
do {
aStart = printArr(a, aStart, rows);
bStart = printArr(b, bStart, rows);
// Ask user somehow
} while (//User wants to continue);
假设brds
和mod2
也在某处宣布