如何扫描文本文件并将其转换为二维字符数组?
How do you scan a text file and convert it to a 2D char array?
我已收到文本文件,我正在尝试将它们转换为二维字符数组以供进一步使用。发生的事情是它似乎正在获取第一个索引并一遍又一遍地复制它,直到它达到 int 大小并且它认为只有一列。我还想知道它是否与 charAt 有关,因为我不熟悉它。
public static void main(String[] args) throws FileNotFoundException
{
System.out.println("Enter file path here!");
Scanner input = new Scanner(System.in);
File file = new File(input.nextLine());
Scanner inputFile = new Scanner(file);
int size = inputFile.nextInt();
char[][] testBoard = new char[size][size];
for (int i = 0; i < size; i++)
{
String line = inputFile.next();
for (int j = 0; j < size; j++)
{
testBoard[i][j]= line.charAt(i);
System.out.println(testBoard[i][j]);
}
}
给出的文件示例是
4
BQBB
BBBQ
QBBB
BBQB
请帮助它弄乱我的代码!
而不是 testBoard[i][j]= line.charAt(i);
试试 testBoard[i][j]= line.charAt(j);
你不需要两个循环。按如下方式编写循环:
for (int i = 0; i < size; i++) {
String line = inputFile.nextLine();
testBoard[i] = line.toCharArray();
}
请注意,Java 中的二维数组是数组的数组。因此 testBoard[0]
应该分配给 {'B', 'Q', 'B', 'B'}
,testBoard[1]
应该分配给 {'B', 'B', 'B', 'Q'}
等等。这就是这个循环正在做的事情。
如有任何问题,请随时发表评论 doubt/issue。
我已收到文本文件,我正在尝试将它们转换为二维字符数组以供进一步使用。发生的事情是它似乎正在获取第一个索引并一遍又一遍地复制它,直到它达到 int 大小并且它认为只有一列。我还想知道它是否与 charAt 有关,因为我不熟悉它。
public static void main(String[] args) throws FileNotFoundException
{
System.out.println("Enter file path here!");
Scanner input = new Scanner(System.in);
File file = new File(input.nextLine());
Scanner inputFile = new Scanner(file);
int size = inputFile.nextInt();
char[][] testBoard = new char[size][size];
for (int i = 0; i < size; i++)
{
String line = inputFile.next();
for (int j = 0; j < size; j++)
{
testBoard[i][j]= line.charAt(i);
System.out.println(testBoard[i][j]);
}
}
给出的文件示例是
4
BQBB
BBBQ
QBBB
BBQB
请帮助它弄乱我的代码!
而不是 testBoard[i][j]= line.charAt(i);
试试 testBoard[i][j]= line.charAt(j);
你不需要两个循环。按如下方式编写循环:
for (int i = 0; i < size; i++) {
String line = inputFile.nextLine();
testBoard[i] = line.toCharArray();
}
请注意,Java 中的二维数组是数组的数组。因此 testBoard[0]
应该分配给 {'B', 'Q', 'B', 'B'}
,testBoard[1]
应该分配给 {'B', 'B', 'B', 'Q'}
等等。这就是这个循环正在做的事情。
如有任何问题,请随时发表评论 doubt/issue。