2017-09-27 12 views
-1

したがって、5 by 4 by 3配列を作成する必要があります。各行と列の順序付きトリプルを[1,2,3]に初期化します。 この形式で出力します。JavaでForループを使用して3D配列を作成する

[1,2,3]、[1,2,3]、[1,2,3]、[1,2,3]

[1,2,3]、[1、 2,3]、[1,2,3]、[1,2,3]

[1,2,3]、[1,2,3]、[1,2,3]、[1 1,2,3]

[1,2,3]、[1,2,3]、[1,2,3]、[1,2,3]

[1,2,3 ]、[1,2,3]、[1,2,3]、[1,2,3]

私はこれを行うためにEclipse Oxygenを使用しています。以下は私がこれまで行ってきたことです。

パブリッククラストリプル{

public static void main(String[] args) { 
    int[][][] scores = new int[5][4][3]; 

    for (int i = 0; i < scores.length; i++) { 
     for (int a = 0; a < scores[i].length; a++) { 
      for (int b = 0; b < scores[i][a].length; b++) { 
       scores[i][a][b] = i*1; 

      } 
     } 
    } 


    for (int i = 0; i < scores.length; i++) 
    { 
     for (int a = 0; a < scores[i].length; a++) 
     { 
      System.out.print("{"); 
      for (int b = 0; b < scores[i][a].length; b++) 
      { 
       System.out.print(scores[i][a][b] + " "); 
      } 
      System.out.print("} "); 
     } 
     System.out.println(); 
    } 
} 

}

問題は、それが以下の出力です。

{0 0} {0 0} {0 0} {0 0}

{1 1 1} {1 1 1} {1 1 1} {1 1 1}

{2 2 2} {2 2 2} {2 2 2} {2 2 2}

{3 3 3} {3 3 3} {3 3 3} {3 3 3}

{4 4 4} {4 4 4} {4 4 4} {4 4 4}

[1,2,3]の出力方法はわかりません。私はそれがスコア[i] [b] = i * 1と関係していることを知っています。ですから、基本的には、[1,2,3]を3で5の4の3次元配列に出力するにはどうすればよいですか?

+1

ようこそスタックオーバーフロー!デバッガの使い方を学ぶ必要があるようです。 [補完的なデバッグ手法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)にご協力ください。その後も問題が残っている場合は、より具体的な質問に戻ってください。 –

+0

「スコア」[i] [b] = b + 1; ' –

+0

私はJavaに関しては専門家ではありませんが、私が見る限り、バグは見られません@Joe C –

答えて

1
for (int i = 0; i < scores.length; i++) 
{ 
    for (int a = 0; a < scores[i].length; a++) 
    { 
     for (int b = 0; b < scores[i][a].length; b++) 
     { 
      scores[i][a][b] = b+1; 
     } 
    } 
} 

あなたと5×4×3を進む3Dアレイは、あなたが5を介してループすることによって開始コードで参照次いで、各アレイ内の1,2,3を望んでいたので、4次に3.あなたがループしているときには、あなたが持っている変数を何でもして、インデックス0から始めると仮定します。

+0

編集してくださいあなたの投稿とあなたのコードに説明を追加します。 (たとえば、何を修正したのか、理由は何か) – juzraai

関連する問題