我应该写一个解决5乘5的数字板的任务。程序必须读入这些数字的文件,我想要做的是读取文件中的值(它们之间有空格,我不想要),保存1D中的所有值数组,然后用数据填充我的2D阵列板。但即使我确信我做的一切都很正确,我甚至无法读取文件。
我很肯定我应该将txt文件放在src文件夹中,因为我有几乎完全相同的代码和文件位置,用于另一个读取文件的程序并且它可以工作。
这是我的代码。
static String[][] board = new String[5][5];
static String[] data = new String[25];
public static void fillBoard(String filename) throws Exception {
Scanner scanner = new Scanner(new File(filename));
while (scanner.hasNextLine() && !isFull(data)) {
String currentLine = scanner.nextLine();
for (int i = 0; i < 5; i++) {
data = currentLine.split("[ ]");
}
}
}
public static boolean isFull(String data[]) {
boolean toReturn = false;
for (int i = 0; i < data.length; i++) {
if (data[i] != null) {
toReturn = true;
} else {
toReturn = false;
}
}
return toReturn;
}
public static void printData(String data[]) {
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
}
public static void main(String[] args) throws Exception {
try {
fillBoard("testboard2.txt");
} catch (Exception e) {
System.out.println("Cannot find the specified file.");
}
printData(data);
}
这就是打印出来的内容:
运行: 找不到指定的文件。 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 空值 建立成功(总时间:0秒)
我不知道可能出现什么问题,但它需要工作才能让我做任何其他事情。调试器帮助很小。