【发布时间】:2014-10-08 18:15:17
【问题描述】:
我想读取这个文本文件并将数据存储在一个二维数组中。每个空格都应替换为0,从而产生最终的 0 和 1 矩阵。正在发生的问题是Scanner 忽略了所有的空格,只将 1 放入矩阵中。
这是文本/输入文件。
1111
111111
111 111 1
111111 11 111 11
1111 111 111 111
1 1 11111 111 1 11 11 11111
1111 111 11111111
1111 11111 111 1 11 11111
111 111 1111 111 1111
111 1111 11111 111111
111 11 11 11111 111
1111 11 11111
1111 11111
1111 11 11 1111
111 111 1 111
11 1111 111111
1111 111 1111
1111 111 1111
1111 11 1111 1111
1111 111111 11111
111 11111
1111 1111
Scanner fileScanner = new Scanner(new File("D:\Assignment.txt")); int [][] inputMatrix= new int[200][200];诠释 i=0,j=0; while (fileScanner.hasNextLine()) { String line = fileScanner.nextLine();扫描仪 lineScanner = new Scanner(line); while (lineScanner.hasNext()) { int token = Integer.parseInt(lineScanner.next());输入矩阵[i][j]=token; // 用记号 j++ 做任何需要做的事情; } lineScanner.close();我++; j=0; // 你在这行的末尾。做你该做的事。 } fileScanner.close();
【问题讨论】:
-
分享您尝试过的所有内容,以便我们找出您代码中的问题。
-
如何使用 readLine() 而不是每个字符读取字符,然后将该行中的所有空格替换为 0?
-
扫描仪 fileScanner = new Scanner(new File("D:\\Assignment.txt")); int [][] inputMatrix= new int[200][200];诠释 i=0,j=0; while (fileScanner.hasNextLine()) { String line = fileScanner.nextLine();扫描仪 lineScanner = new Scanner(line); while (lineScanner.hasNext()) { int token = Integer.parseInt(lineScanner.next());输入矩阵[i][j]=token; // 用记号 j++ 做任何需要做的事情; } lineScanner.close();我++; j=0; // 你在这行的末尾。做你该做的事。 } fileScanner.close();
-
@user3678399 请不要添加代码作为注释,它完全不可读。编辑您的帖子,在此处添加和格式化。
标签: java java.util.scanner bufferedreader readfile fileinputstream