从文件中读取图形并转换为Java数组

时间:2019-03-20 14:54:20

标签: java arrays matrix

我需要从txt文件读取图形矩阵。例如

4
0 1 1 0 
1 0 1 0 
1 1 0 1 
0 0 1 0

这是输入文件。第一个数字是顶点数。我尝试过这样的事情:

Scanner sc = new Scanner(file.getAbsolutePath());
int n = sc.nextInt();
int [][] graph = new int [n][n];
for (int x =0; x<n; x++)
    for (int y=0; y<n;y++)
        graph[x][y] = sc.nextInt();

但是我得到InputMismatchException。我知道这意味着什么,但我不明白这是怎么回事。文件包含int型字符,我正在使用nextInt();有什么建议么?也许将矩阵转换为数组的更简单方法?感谢您的建议。

1 个答案:

答案 0 :(得分:0)

您为 @Override public void afterTextChanged(Editable s) { String text = s.toString(); int length = text.length(); if(length > 0 && !Pattern.matches(YOUR_REGEX, text)) { s.delete(length - 1, length); } } 使用了错误的构造函数。您正在使用以下命令:https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#Scanner(java.lang.String),它将创建以字符串作为输入流的Scanner

将构造函数更改为Scanner