gpt4 book ai didi

java - 使用扫描仪从txt文件中读取字符并添加到二维数组中

转载 作者:行者123 更新时间:2023-12-02 09:19:25 24 4
gpt4 key购买 nike

我有一个 txt 文件,我正在尝试使用扫描仪类读取该文件。

我使用双 for 循环来读取文件并将其存储为二维数组。

该文件如下所示:

3 3。 R#。 。 #。 。 #

第一行分别是二维数组的长度和宽度。

我得到了这个工作,它读取一个类似的txt文件,但它不是char而是像这样的int:

3 31 0 11 1 10 0 1

我在这里使用的方法如下所示:

readFile(String filename){
Scanner scan = new Scanner(new File(filename));
// read the first two numbers in the file for the size of the array
int numberRows = scan.nextInt();
int numberColumns = scan.nextInt();

char[][] grid = new char[numberRows][numberColums];
for (int i = 0; i < numberRows; i++) {
for (int j = 0; j < numberColumns; j++) {
grid[i][j] = scan.next().charAt(0);
}
}
}

我希望这与使用 char 而不是 int 时的工作方式相同。

但是我收到错误 当出现NoSuchElementException scan.next().charAt(0)实际上运行尝试从 txt 文件中读取字符。

我想读取字符串而不是字符吗?我假设单个字符将被 java 扫描器类读取为字符。

最佳答案

Scanner.next() 始终返回一个String。请查看https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html了解更多信息。在对 scan.next() 执行任何操作之前,例如scan.next().charAt(0),您应该检查if (scan.hasNext())条件。

关于java - 使用扫描仪从txt文件中读取字符并添加到二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58792226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com