我有多行输入,其中每一行都是矩阵行。我将此行另存为字符串,此后我想根据空格拆分此字符串,但由于可读性更好,因此未定义数字之间的空格数。因此,当我以后要解析为int时,会引发错误,因为在某些地方,空间不止一个。有什么解决办法可以解决这个问题吗?谢谢
这是我的代码,我是如何尝试解决的
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line;
int[][] matrix=new int[n][n];
String[] temp;
for (int row = 0; row < n; row++) {
line =br.readLine();
temp = line.split("\\s+");
for(int i=0;i<n;i++){
matrix[i][row]=Integer.parseInt(temp[i]);
}
这是示例输入
10 10 0 10 5
5 20 10 7 12
1 2 3 5 9
10 15 20 35 2
2 15 5 15 2
问题是当字符串开头有空格时:
"10 10 0 10 5".split("\\s+"); // ["10", "10", "0", "10", "5"]
" 5 20 10 7 12".split("\\s+"); // ["", "5", "20", "10", "7", "12"]
因此,您将获得一个额外的空字符串。添加额外的内容trim()
应该会有所帮助:
line.trim().split("\\s+");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句