存储从文件到2D数组的整数

时间:2016-11-23 15:38:37

标签: java arrays

我正在尝试导入类似于此

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();
    }
}}

1 个答案:

答案 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();
    }
}