2011-12-17 11 views
0

2次元配列に特定の位置に単語を配置する方法はありますか?例えば、私は単語を与えたい、縦または横、位置((3,3)または(3,4)または(5,6)など)を選択すると、その位置に単語が配置されます。これは私ですアレイ用のコード...2次元配列に単語を配置する

char [][] Board = new char [16][16]; 


    for (int i = 1; i<Board.length; i++) { 
     if (i != 1) { 
      System.out.println("\t"); 
      System.out.print(i-1); 
     } 

     for (int j = 1; j <Board.length; j++) { 
      if ((j == 8 && i == 8) ||(j ==9 && i == 9) ||(j == 10 && i == 10) ||(j == 2  && i == 2)) 
      { 
       Board[i][j] = '*'; 
       System.out.print(Board[i][j]); 
      } 
      else { 
       if (i == 1) { 
        System.out.print("\t"); 
        System.out.print(j-1); 
       } 
       else { 
        Board[i][j] = '_'; 
        System.out.print("\t"); 
        System.out.print(""+Board[i][j]); 
} 

} 

特定の位置に2次元配列内の単語を配置する方法はあり

+0

私はこの "char * [] [] Board = new char [16] [16];"メッセージを "not statement。シンボルを見つけることができません:Board" ....私は他の何かをしなければならないのですか? – nick

+0

これはJavaだと思いますか? – wrschneider

+0

ああ、私がplaceWord( "foo"、3、4、HORIZONTAL)と言うなら、あなたはボード[3] [4] = 'f'で終わるように、開始インデックスと向きを指定したいということですか? 、ボード[3] [5] = 'o'など? – wrschneider

答えて

1

(*単語が置かれる傾けることを意味しますか)?

はい、実装できます。

public void placeWordHorizontally(char[][] board, String word, int x, int y) { 
    for (int i = 0; i < word.length(); i++) { 
     if (y + i >= board[x].length) { 
      // fail ... edge of board 
     } else if (board[x][y + i]) == '*') { 
      // fail ... blocked. 
     } else { 
      board[x][y + i] = word.charAt(i); 
     } 
    } 
} 

、あなたがx位置にiエトセトラを追加垂直ケースを行うには:擬似コードは次のようなものです。

あなた自身で詳細を記入すると詳細を知ることができるため、正確なコードは提供しません。

+0

あなたのレスポンスにスティーブンが感謝しています。私はあなたのコードで作業していますが、リトルビットのハード私はjava.anyの新しいですようこそ... :) – nick

+0

本当に私はそれを働かせることができません!どんなアイデアですか? – nick

+0

なぜそれを動作させることができないのかを教えてくれないなら、私たちはあなたを助けません。 –