有没有办法在特定位置的二维数组中放置一个单词?例如,我想给这个词,选择垂直或水平和位置((3,3)或(3,4)或(5,6)等),这个词将放在那个位置。这是我的数组的代码......
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]);
}
}
(*表示单词不能放在那里)
答案 0 :(得分: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);
}
}
}
并执行垂直案例,将i
等等添加到x
位置。
我不会向您提供确切的代码,因为如果您自己填写详细信息,您将了解更多信息。