我正在制作一个单词搜索程序,网格是 10 x 10,所有字母都在 Char[][] 数组中。还有一个单词表。
public static void find(){
Scanner input = null;
try {
input = new Scanner(new File(WORD_FILE));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
List<String> words = new ArrayList<>();
while (input.hasNextLine()){
words.add( input.nextLine());
}
input.close();
initgrid();
for (char[] a : grid){
String c =String.valueOf(a);
for (String s : words){
if (s.contains(c)){
// what can i do now?
}
}
}
有没有人对我如何让程序遍历网格的每个字母有任何建议,并从单词列表中查找单词……它应该能够水平、垂直和对角地阅读单词。
这是我的 InitGrid() 方法,它打开网格文件并将每个字符分配给 char[][] 数组。
public static char[][] initGrid(){
Scanner input = null;
try {
input = new Scanner(new File(GRID_FILE));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String[] tmp = new String[10];
int c = 0;
while (input.hasNextLine()){
tmp[c++]=input.nextLine();
}
input.close();
for (int b = 0; b<tmp.length;b++){
for (int j= 0; j<tmp[b].length();j++){
grid[b][j] = tmp[b].charAt(j);
}
}
return grid;