gpt4 book ai didi

Java:文本文件到二维数组

转载 作者:行者123 更新时间:2023-12-02 05:45:27 25 4
gpt4 key购买 nike

我需要获取一个文本文件并从该文件中的文本初始化一个二维数组。文本文件中的每一行有 20 个字符。 5 行。

到目前为止我所拥有的是

int totalRow = 5;
int totalColumn = 20
char[][] myArray = new char[totalRow][totalColumn];
File file = new File("test.txt");
Scanner scanner = new Scanner(file);

int row = 0;
int column = 0;

while (scanner.hasNextLine()){
while (scanner.hasNext()){
myArray[row][column] = scanner.next();
column++;
}
row++;
}

我目前遇到的问题是我收到错误:字符串无法转换为字符

此外,我对扫描仪类不是很熟悉,因此如果 hasNextLine 和 hasNext 不适合我想要实现的目标,请告诉我。

最佳答案

不是最有效的解决方案,但不会与原始版本偏离太多,这应该可以满足您的要求:

int totalRow = 5;
int totalColumn = 20;
char[][] myArray = new char[totalRow][totalColumn];
File file = new File("test.txt");
Scanner scanner = new Scanner(file);


for (int row = 0; scanner.hasNextLine() && row < totalRow; row++) {
char[] chars = scanner.nextLine().toCharArray();
for (int i = 0; i < totalColumn && i < chars.length; i++) {
myArray[row][i] = chars[i];
}
}

编辑:再想一想,如果您对列宽有信心,则可以进一步简化代码:

int totalRow = 5;
char[][] myArray = new char[totalRow][];
File file = new File("test.txt");
Scanner scanner = new Scanner(file);

for (int row = 0; scanner.hasNextLine() && row < totalRow; row++) {
myArray[row] = scanner.nextLine().toCharArray();
}

关于Java:文本文件到二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24112111/

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