我正在尝试导入类似于此
5 5
1 1
3 3
1 1 1 1 1
1 0 1 0 1
1 0 1 0 1
1 0 0 0 1
1 1 1 1 1
文件到二维数组,但我很难,这是我的代码到目前为止,什么也没做,没有语法错误,所以我没有得到任何错误,但一个空白的控制台和我不知道我做错了什么。数组的大小是文件中的前2个数字。
package main;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class oboroten {
public static void main(String[] args) {
int x, y;
x = y = 0;
int[][] maze = new int[x][y];
try {
Scanner reader = new Scanner(new File("C:\\Users\\User\\Desktop\\mazes\\input.txt"));
x = reader.nextInt();
y = reader.nextInt();
for (int i = 0; i < x; i++){
for (int j = 0; j < y; j++){
maze[i][j] = reader.nextInt();
System.out.println(maze[i][j]);
}
}
reader.close();
} catch (FileNotFoundException e1) {
System.out.println("Problem with the file");
e1.printStackTrace();
}
}}
答案 0 :(得分:0)
你初始化大小为0的数组。所以没有任何东西会在那里加入。
您必须在>> 之后初始化数组,并获取尺寸。 试试这个:
public static void main(String[] args) {
int x, y;
int[][] maze;
try {
Scanner reader = new Scanner(new File("C:\\Users\\User\\Desktop\\mazes\\input.txt"));
x=reader.nextInt();
y=reader.nextInt();
maze = new int[x][y];
for (int i=0; i<x; i++){
for (int j=0; j<y; j++){
maze[i][j]=reader.nextInt();
System.out.println(maze[i][j]);
}
}
reader.close();
} catch (FileNotFoundException e1) {
System.out.println("Problem with the file");
e1.printStackTrace();
}
}