застрял с этой программой поиска слов - PullRequest
0 голосов
/ 28 августа 2018

я создаю программу поиска слов, сетка 10 х 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;
...