阅读填字游戏txt文件

时间:2016-10-19 01:58:03

标签: java puzzle

我是JAVA的新手,我不知道如何开始这个。我正在寻找一个好的开始。我需要读取具有特定格式的txt文件并将其放入视图中。我首先需要阅读网格的尺寸,然后是拼图顺序中的单词,然后需要找到的单词数量和最后的实际单词。如果有人可以通过一个例子让我进入正确的方向,这将真的有所帮助。 这是txt文件的格式

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

编辑:所以这是我在测试后尝试读出有效的文件(谢谢!)。但我在这里得到了stuk,我仍然需要从char [] []更改为box [] [],因为我需要它来填充letterGrid。

    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 个答案:

答案 0 :(得分:0)

这是一个很好的开始:

我将向您提示如何从文本文件中读取行。在阅读之后,你必须自己构建逻辑。

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中发布这样的问题。尝试编码,如果你遇到困难,然后寻求帮助。社区不鼓励这样的问题。