2017-01-07 8 views
0

まず、以前の投稿をチェックしても、まだ回答が見つかりませんでした。だからここに私の質問です:私はArrayListにチェスボードの特定の状態(例えば、開始状態)を示す2次元の文字配列を格納したい。状態の例は、次のようになります。2D文字配列をArrayListに格納したい

ChessState

がどのようにchessState呼ばArrayListにこの状態(あるチェス盤と呼ばれる2D char配列)を格納しますか?

名前は重要ではありませんが、私はあなたのできる助けを提供するのに役立つと思っていました。

これまでの私の試みでは、私の出力に「C @ 22e7c30e」がありました。

ありがとうございました!

+2

コードを表示する必要があります。あなたの問題が単に印刷に関係している場合、 'Arrarys.deepToString()'は配列の内容を出力します。 – markspace

+0

私はコードの表示が助けになるとは思っていませんでしたが、私はどのコードを表示するのか分かりませんでした。私はチェス盤の開始状態のように見えるように私の2次元配列を設定する方法を追加することができますが、私はそれが答えを見つけるのに役立つとは思わなかった。 – jordan

+1

提供した文字列、C @ 22etcは、デフォルトでJavaが配列をどのように出力するかを示します。それは間違っていません。何か不足していて、いくつかのコードが役に立ちます。 – markspace

答えて

0

クラスを作成しないでください。ChessStateに2D文字配列が含まれていて、それらの状態のarraylistを作成しますか?

public class ChessState { 
... 
} 



public class Chess { 
... 

ArrayList<ChessState> = ... 

... 
} 
0
ArrayList<char[][]> ChessState= new ArrayList<char[][]>(); 
ChessState.add(chessBoard); 

一般的に、あなたは配列に好き置くことができます。チェス盤についての詳しい情報が必要な場合は、オブジェクトでそれを行います。上記のコードは、2dのchar配列で動作するはずです。

0
public char[][] possibleChessMove = new char[8][8]; 

ArrayList<char[][]> storeMoves = new ArrayList<>(); 

と起動ボードの状態にpossibleChessMoveを充填した後、私はこれをしなかった:私は尋ねた

storeMoves.add(possibleChessMove); 

         for (int i=0;i<storeMoves.size();i++) { 
          for (int j=0;j<8;j++) { 
           for (int k=0;k<8;k++) { 
            System.out.print(storeMoves.get(i)[j][k]+" "); 

           } 
           System.out.println(""); 
          } 
          System.out.println("\n\n\n"); 
         } 

もともとの質問は、私が間違ってそれらを格納したと思わなかったので、私は、それらを格納しますどのようにしました。しかし、結局私が印刷していた方法は間違っていた。

関連する問題