1

課題について質問があります。いくつかのロボットを配置するマトリックスを作成する必要があります (これは重要ではありません。ロボットは別のクラスであり、マトリックス内のいくつかの位置に配置する必要があるそのクラスのオブジェクトです)。問題は、マトリックスフィールドが「水」と「土地」になる可能性があることです。では、ロボットと「水」または「土地」に関する情報をマトリックスの同じフィールドに保持するにはどうすればよいでしょうか。

私はこれを試します:

HashMap[][] field = new HashMap[15][25];
  Robot robot[];

  Robovil(){

    for(int i = 0; i < 15; i++){
      for(int j = 0; j < 25; j++){
        field[i][j] = new HashMap<String, Object>();
         if(j % 2 == 0)
          field[i][j].put("land", new Object());
         else
          field[i][j].put("water", new Object()); 
      }
    }

しかし、コンパイラから次のメッセージが表示されます。

警告: raw タイプ java.util.Map のメンバーとしての put(K,V) のチェックされていない呼び出し

誰かがより良いアイデアを持っていますか???

4

1 に答える 1

0

おそらく、Enum名前付きの土地を作成し、水と地面を含み、タイプのマトリックスを使用してから、 sLandに対して別のマトリックスを並列に使用します。Robot

参照: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

編集:新しいクラスを作成し、それを say と呼びますTile。2 つのフィールドを指定します。1 つは 用、もう 1 つは 用LandですRobotTile次に、 sから行列を作成します

于 2013-10-11T02:15:08.747 に答える