我想导入数独板并将其转换为 [9][9] 数组。
Example of a couple of printed boards:
这是第一 block 板: 370000001000700005408061090000010000050090460086002030000000000694005203800149500
前 9 个数字填充第一行,接下来的 9 个数字填充第二行,依此类推。
public static void main(String[] args) {
File in = new File("board.txt");
try {
Scanner input = new Scanner(in);
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
grid[i][j]= input.nextInt();
}
}
} catch (FileNotFoundException e) {
}
此代码可以导入文本文件中的单个整数,例如:
0
1
3
5
0
8
etc
那么我如何编辑我的代码,以便它可以“读取”一行不带空格的数字,并从元素中的文本文件导入每个单独的数字。
或者如何创建一个具有相同功能的新程序?
最佳答案
使用scanner.nextLine
读取该行并使用Integer.parseInt
将char
转换为int
:
Scanner input = new Scanner(in);
String line = input.nextLine();
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
grid[i][j]= Integer.parseInt(line.charAt(i * 9 + j));
}
}
关于java - 将一维字符串导入二维int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49276780/