чтение текстового файла кроссворда

#java #puzzle

#java #Головоломка

Вопрос:

Я новичок в JAVA, и я понятия не имею, как это начать. Я искал хорошее начало. Мне нужно прочитать текстовый файл определенного формата и поместить его в представление. сначала мне нужно прочитать размеры сетки, затем слова в порядке головоломки, затем количество слов, которые необходимо найти, и последнее фактическое слово. Если кто-нибудь может направить меня в правильном направлении с помощью примера, это действительно помогло бы. это формат текстового файла

 5 5 
abcd
dfad
adfe
lkjl
ekkf
5
realword
realword
realword
realword
realword
  

РЕДАКТИРОВАТЬ: итак, это то, что я попробовал после тестирования, чтобы прочитать файл, который работает (спасибо!). но я получаю stuk здесь, мне все еще нужно перейти с char[][] на box[][] , так как он мне понадобится для заполнения сетки букв.

     import java.io.*;
import java.util.List;

public class Puzzle {

    //Box[][] letterGrid;
    char[][] letterGrid;
    List<Word> wordList;
    List<Box> wordInWording;

    public Puzzle() {
        try {
            BufferedReader br = new BufferedReader(new FileReader("..\word.txt"));

            String[] dimensions = br.readLine().split(" ");
            letterGrid = new char[Integer.parseInt(dimensions[0])][Integer.parseInt(dimensions[1])];

            for (int i = 0; i < letterGrid[0].length; i  ) {
                String val = br.readLine();
                letterGrid[i]= val.toCharArray();
            }
            //while something something
int r = br.read();
        int c = br.read();
        letterGrid = new char[r][c];

        for (int i = 0; i<r; i  ){
            String getChar = new String(br.readLine());
            for(int j=0; j<c; j  ){
                letterGrid[i][j] = getChar.charAt(j);
            }
        }

//          String sCurrentLine;
//          while ((sCurrentLine = br.readLine()) != null) {
//              System.out.println(sCurrentLine);
//          }

        } catch (IOException e) {
            e.printStackTrace();
        } 

    }

}
  

Комментарии:

1. Я кое-что добавил, но, похоже, я не могу понять логику, стоящую за целыми числами, затем символами, затем int, затем строками

Ответ №1:

Вот хорошее начало:

Я просто дам вам подсказку о том, как читать строки из текстового файла. Вы должны построить логику самостоятельно после чтения из него.

 public static void main(String[] args) {

        BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader("C:\testing.txt"));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

    }
  

Вы не должны публиковать такие вопросы в SO, даже не попробовав. Попробуйте написать код, если вы застряли, опубликуйте его и попросите о помощи. Сообщество не поощряет подобные вопросы.

Комментарии:

1. Чтение файла сработало (спасибо!), Но потом я застрял с размерами и чтением слов. Я просто не понимаю, как сначала прочитать int с пробелами между ними, а затем прочитать символы головоломки, а затем прочитать количество слов и последние фактические слова. Логика просто еще не существует для меня. любая помощь?