我希望能够读取行和列的文本文件,并将数据放入矩阵中。这是我到目前为止所得到的。我有一个矩阵类,其中一个数据成员称为int类型的元素,它是一个二维数组[] []。
import java.io.*;
import java.util.*;
public class test{
public static void main(String args[]) throws FileNotFoundException {
File fin = new File ("matrix1.txt");
Scanner scanner = new Scanner(fin);
scanner.next(); // removes the first line in the input file
int rows = scanner.nextInt();
int cols = scanner.nextInt();
while (scanner.hasNextLine()){
String line = scanner.nextLine();
System.out.println(line);
}
System.out.println(rows);
System.out.println("/n");
System.out.println(cols);
}
}
示例文本文件如下。我想获取行和列,以便我可以动态声明矩阵,然后存储其值。我得到错误说INPUTMISMATCH异常。帮助将不胜感激。
<matrix>
rows = 2
cols = 2
1 2
2 4
</matrix>
答案 0 :(得分:2)
如果下一个标记与整数正则表达式不匹配或超出范围,则从javacdocs抛出InputMismatchException
“。
您正在尝试将字符串“row = 2”扫描为整数。在这种情况下,您无法使用nextInt
。尝试nextLine
,然后在=
上拆分以获取值。
示例:
String rowLine = scanner.nextLine();
String[] arr = rowLine.split("=");
int rows = Integer.parseInt(arr[1].trim());