大家。我想了三个小时,就是想不出来。 我有一个程序需要将文件读入二维数组。 该文件如下:
...##..#####........
########....####..##
.........##.........
#.#.#.#.#.#.#.#.#.#.
基本上,这是一个座位预订系统。
“.”表示空座。 “#”表示预留座位。 我不知道行和列,取决于文件。但每一排的座位数都是相同的。
import java.util.Scanner;
import java.io.*;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.Arrays;
public class Main
{
public static void main(String[] args) throws Exception
{
int rows = 0, cols = 0;
char[][] auditorium = new char[rows][cols];
Scanner sc = new Scanner(new BufferedReader(new FileReader("A1.txt")));
}
我是java新手,对这个程序真的没有任何想法。请阅读文件并输入数据 转换为 char 二维数组。
最佳答案
请检查此代码。它可能对你有帮助:
public static void main(String[] args) throws Exception {
List<String> stringList = new ArrayList<>();
Scanner sc = new Scanner(new BufferedReader(new FileReader("A1.txt")));
while (sc.hasNext()) {
stringList.add(sc.nextLine());
}
int rows = stringList.size();
int cols = 0;
if (rows > 0) {
cols = stringList.get(0).length();
}
char[][] auditorium = new char[rows][cols];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
auditorium[i][j] = stringList.get(i).charAt(j);
}
}
}
关于Java将文件读入char二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60048853/