我制作了一个单词搜索程序,网格为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;