2017-11-27 6 views
0

2D配列を一度横切るように一連のforループを作成しようとしています。地図の方向性のようなあなたの思考の場合)。変数と条件を取得してforループを作成し、正しい検索を行うことができないように見えません。ここまで私がこれまで持っていたことがあります。私は1つおきの方向にセットを作りましたが、なんらかの理由で正しいforとdownを得るためにforループを設定する正しい変数と条件を見つけることができません。2つのループを使用して2次元配列を下方向および右方向に移動

for(int k = dimention-1; k >= 0; k--){ 
     for(int j = dimention; j<= dimention+dimention ;j++){ 
      int i = k - j; 
      System.out.print(testArray[i][j] + " "); 
     } 
     System.out.println(""); 
    } 

    for(int k = 1; k <= dimention-1; k++){ 
     for(int j = dimention-1; j>=k;j--){ 
      int i = j - k; 
      System.out.print(testArray[j][i] + " "); 
     } 
     System.out.println(""); 
    } 

答えて

0

ここにブレークダウンがあります。印刷ラインをコメント解除して、細かい部分を取得することができます。パターンの仕組みについて次元は行列の次元であることに注意してください。

//top left to bottom right searching SE 
    System.out.println("SE Direction!"); 

    for(int k = 0; k <= dimention-1; k++){ 
     //System.out.print("k = " + k + ", "); 
     for(int j = 0; j<=k;j++){ 
      int i = j - k; 
      //System.out.print("j = " + j + ", "); 
      //System.out.print("i = " + i + ", "); 
      System.out.print(testArray[dimention - 1 + i][j] + " "); 
     } 
     System.out.println(""); 
    } 

    for (int k = dimention -2; k >=0; k--){ 
     //System.out.print("k = " + k + ", "); 
     for(int j = 0; j <=k;j++){ 
      int i = j - k; 
      //System.out.print("j = " + j + ", "); 
      //System.out.print("i = " + i + ", | "); 
      System.out.print(testArray[j][dimention-1+i] + " "); 
     } 
     System.out.println(""); 
    } 
関連する問題