Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将文本文件放入二维数组_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java 将文本文件放入二维数组

Java 将文本文件放入二维数组,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我正在尝试将一个如下所示的文本文件存储到二维数组中 24 7 1 6 7 15 13 17 9 23 10 21 13 19 这是我的代码,我必须存储它。没有语法错误,但我似乎无法将其存储到数组中。我只需要找出如何简单地将其存储到我的数组中 FileInputStream fStream = new FileInputStream(file); BufferedReader input = new BufferedReader(new InputStreamRe

我正在尝试将一个如下所示的文本文件存储到二维数组中

24
7
1 6
7 15
13 17
9 23
10 21
13 19
这是我的代码,我必须存储它。没有语法错误,但我似乎无法将其存储到数组中。我只需要找出如何简单地将其存储到我的数组中

        FileInputStream fStream = new FileInputStream(file);
        BufferedReader input = new BufferedReader(new InputStreamReader(fStream));
        Scanner src = new Scanner(input);
        ArrayList<Integer> lines = new ArrayList<Integer>();
        src.useDelimiter(" ");

        while(src.hasNextInt()) {
            lines.add(src.nextInt());
        }
        int[][] fileArray = new int[lines.size()][];
        lines.toArray(fileArray);
FileInputStream fStream=新的FileInputStream(文件);
BufferedReader输入=新的BufferedReader(新的InputStreamReader(fStream));
扫描仪src=新扫描仪(输入);
ArrayList行=新的ArrayList();
src.useDelimiter(“”);
while(src.hasNextInt()){
add(src.nextInt());
}
int[][]fileArray=new int[lines.size()][];
lines.toArray(文件数组);

-谢谢,迈克,试试这个

    FileInputStream fStream = new FileInputStream(file);
    BufferedReader input = new BufferedReader(new InputStreamReader(fStream));
    Scanner src = new Scanner(input);
    ArrayList<ArrayList<Integer>> board = new ArrayList<>();

    while(src.hasNextLine())
    {
        String[] line = src.nextLine().split("\\s+");
        board.add(new ArrayList<Integer>());
        for(String num : line)
        {
            if(num.matches("\\d+"))
                board.get(board.size() - 1).add(Integer.parseInt(num));
        }
    }

    for(int i = 0; i < board.size(); i++)
    {
        for(int j = 0; j < board.get(i).size(); j++)
            System.out.print(board.get(i).get(j) + " ");

        System.out.println();
    }
FileInputStream fStream=新的FileInputStream(文件);
BufferedReader输入=新的BufferedReader(新的InputStreamReader(fStream));
扫描仪src=新扫描仪(输入);
ArrayList board=新的ArrayList();
while(src.hasNextLine())
{
String[]line=src.nextLine().split(\\s+);
添加(新的ArrayList());
for(字符串编号:行)
{
如果(num.matches(\\d+))
get(board.size()-1).add(Integer.parseInt(num));
}
}
对于(int i=0;i
改变一下逻辑怎么样。将每一行作为字符串读取,使用
将值转换为整数并添加到数组中进行拆分。非常感谢!这帮了我很大的忙。我唯一需要修改的是\\d到\\d+,因为这些数字使用了多个更好的逻辑