2017-11-18 14 views
0

たとえば、以下のコードをどのように変更すればよいでしょうか?ただ、一般的な印刷のみ、特定のセクションのように10行と列があった場合はどのように私はあなたがあなたの希望に応じて印刷するには、ループ回数を変更する必要があります2次元配列の一部を印刷するには

for (int row = 0; row < example.length; row++) { 
for (int column = 0; column < example[row].length; column++) {  
    System.out.print(" "+example[row][column] + "\t|"); 
    } 
    System.out.println(); 
    } 
+0

最初の質問:何四分の一ですか? – tadman

+0

一般的には、特定のセクションのみを印刷するような行や列がある場合は、最後の2行と最後の2列を印刷します –

+0

@hephaestus hadesは2d配列のポストを更新できます。それは答えを与えるのに役立ちます。 – Dev4World

答えて

0

、最後の2行と最後の2列を印刷します。たとえば、

for (int row = 0; row < (example.length)/2; row++) 
{ 
    for (int column = 0; column < (example.length)/2; column++) 
    {  
     System.out.print(" "+example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 

これは、行と列の半分を印刷します。

0

あなたはループで再生してみてくださいすることができます

String[][] example = new String[][] { { "a", "b", "c", "d" }, { "e", "f", "g", "h" } }; 

for (int row = 0; row < example.length; row++) { 
    for (int column = 0; column < example[row].length/2; column++) { 
     System.out.print(" " + example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 
System.out.println("----------------------------------------"); 
for (int row = 0; row < example.length/2; row++) { 
    for (int column = 0; column < example[row].length; column++) { 
     System.out.print(" " + example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 
System.out.println("----------------------------------------"); 
for (int row = example.length/2; row < example.length; row++) { 
    for (int column = 0; column < example[row].length; column++) { 
     System.out.print(" " + example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 
System.out.println("----------------------------------------"); 
for (int row = 0; row < example.length; row++) { 
    for (int column = example[row].length/2; column < example[row].length; column++) { 
     System.out.print(" " + example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 
System.out.println("----------------------------------------"); 
for (int row = 0; row < example.length; row++) { 
    for (int column = example[row].length/4; column < example[row].length; column++) { 
     System.out.print(" " + example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 
System.out.println("----------------------------------------"); 
for (int row = 0; row < example.length; row++) { 
    for (int column = example[row].length * 3/4; column < example[row].length; column++) { 
     System.out.print(" " + example[row][column] + "\t|"); 
    } 
    System.out.println(); 
} 
System.out.println("----------------------------------------"); 

出力:

a | b | 
e | f | 
---------------------------------------- 
a | b | c | d | 
---------------------------------------- 
e | f | g | h | 
---------------------------------------- 
c | d | 
g | h | 
---------------------------------------- 
b | c | d | 
f | g | h | 
---------------------------------------- 
d | 
h | 
---------------------------------------- 
+0

私は取得したいと言うことができます........................................... ......................................... b | c | d | .................................................. .................................................. ............... f | g | h | 。どうすればいいですか? –

+0

または単に印刷| d | .................................................. .................................................. .................................................. ........ | h | ....................................... .................................................. .............................................. –

+0

@hephaestushadesチェック更新された答えのために.. –

0

カスタム行とCOL値を取るためにスキャナを使用することができます。もちろん、印刷前に提供された値がそれぞれの長さであるかどうかをチェックする必要がありますので、IndexOutOfBoundsエラーは発生しません(ここには示されていません)。

int[][] example = new int[10][10]; 

    int count = 0; 

//populate array 

    for (int row = 0; row < example.length; row++) { 
     for (int column = 0; column < example[row].length; column++) {  
      example[row][column] = count; 
      count++; 
     } 
    } 

    Scanner sc = new Scanner(System.in); 
    System.out.println("Enter row start: "); 
    int rowStart = sc.nextInt(); 

    System.out.println("Enter row end: "); 
    int rowEnd = sc.nextInt(); 

    System.out.println("Enter col start: "); 
    int colStart = sc.nextInt(); 

    System.out.println("Enter col end: "); 
    int colEnd = sc.nextInt(); 

    for (int row = rowStart; row < rowEnd; row++) { 
     for (int column = colStart; column < colEnd; column++) {  
      System.out.print(" "+example[row][column] + "\t|"); 
     } 
     System.out.println(); 
    } 
    sc.close(); 
関連する問題