有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

数组如何在java中拆分数字文件?

我试图将一个满是数字的文件(9x9)转换成一个基于列和行的可读数组。这是一个数独游戏的建设者。文件内容如下:

0,0,2,9,8,0,5,0,0
4,0,0,0,7,0,0,1,3
0,3,9,6,0,4,0,7,0
2,0,0,0,5,6,4,0,0
8,4,0,3,0,0,2,0,1
9,0,7,0,0,1,0,8,6
6,0,0,7,0,5,1,3,0
0,9,1,4,0,0,0,0,5
0,2,0,0,3,0,6,0,8

我使用“0”作为空白。我想在逗号处拆分数字,以便第一行的内容为:gameBoard[0]=[0,0,2,9,8,0,5,0,0]或作为gameBoard[0][4]=[9]。我使用的阵列是gameBoard[]

有人告诉我,包含一些我尝试过的代码会很有帮助,因此如下所示:

        for (int i = 0; i < 9; i++) {
            for (int j = 0; j < 9; j++) {
                gameBoard[i][j] = game.split(",");
            }
        }

这段代码位于通过构造函数调用的方法中


共 (1) 个答案

  1. # 1 楼答案

    一个小小的开始对新的贡献者有帮助

        String[][] gameBoard = new String[9][9];
        File f = new File("zz_play9.txt");               
        try {
            BufferedReader b = new BufferedReader(new FileReader(f));
    
            String readLine = "";        
            int linecounter =0;
            while ((readLine = b.readLine()) != null) {
                System.out.println(readLine);
                gameBoard[linecounter++] = readLine.split(",");
            }
            b.close();
        } catch (IOException ex) {
            Logger.getLogger(zz_play9.class.getName()).log(Level.SEVERE, null, ex);
        } 
    

    我已经将您的开始数据输入到一个名为zz_play9的文件中。txt

    通过运行程序,您可以获得:

    0,0,2,9,8,0,5,0,0
    4,0,0,0,7,0,0,1,3
    0,3,9,6,0,4,0,7,0
    2,0,0,0,5,6,4,0,0
    8,4,0,3,0,0,2,0,1
    9,0,7,0,0,1,0,8,6
    6,0,0,7,0,5,1,3,0
    0,9,1,4,0,0,0,0,5
    0,2,0,0,3,0,6,0,8
    

    而array gameBoard[]保存所需的数据。玩得开心