我需要从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()
;有什么建议么?也许将矩阵转换为数组的更简单方法?感谢您的建议。
答案 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
。