2017-03-03 3 views
0

どのように私は20行の行ごとに10個の項目を印刷できますか?次に、次の配列にジャンプして同じことをしたいと思います。その後、入力を続行するかどうかをユーザーに尋ねます。ここで配列printintのforループを切り替えます。 Java

は私が持っているサンプル出力です:ここで

===================================== 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; 

      } 

     } 
    } 

答えて

1

私はあなたがユーザーに尋ねるために、印刷アレイと別のサイクルのための別の方法を持ってすべきだと思います。このような何か:

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); 

brdsmod2もどこか

宣言したと仮定すると:
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 
} 

と尋ねるユーザーのための

関連する問題