【发布时间】:2016-03-09 05:32:18
【问题描述】:
我有一个文本文件,其中包含几行由空格分隔的小整数列表。我要扫描第一行,并为第一行中的每个整数做一些事情。
String lineString = textScan.nextLine(); //scans the first line of the text file.
Scanner Line = new Scanner(lineString); //scans the String retrieved from the text file.
while (Line.hasNextInt())
{ //do stuff
}
所以我有一个扫描仪 (textScan),它扫描文本文件的第一行,然后将其保存为字符串。然后我有第二个扫描仪扫描字符串以检查其中的值是否为整数。
但是 while 语句不允许我使用“Line.hasNextInt”来扫描字符串!那么如何扫描 String 行以确定它是否有整数?
编辑: 对不起,我的措辞有误。循环将无限运行,所以我尝试在循环之前创建一个打印语句:System.out.println(Line);,它打印出这个错误:
java.util.Scanner[delimiters=\p{javaWhitespace}+][position=0][match 有效=假] [需要输入=假] [来源 closed=false][skipped=false][group separator=\,][decim al 分隔符=.][正前缀=][负前缀=\Q-\E][正 后缀=][负后缀=][NaN字符串=\Q?\E][无穷大字符串=\Q∞\E]
奇怪的是它编译得很好?
输入文件:
5 4 4 3 5
4 2 2 5 3
5 2 5 2 3
5 4 3 2 3
5 4 2 2 5
4 4 2 4 2
3 3 5 3 5
5 2 4 5 2
4 4 5 4 2
2 4 3 5 2
3 3 3 5 3
2 4 5 3 4
3 5 5 4 3
3 4 2 2 4
5 5 5 4 4
3 4 4 4 5
3 2 4 2 4
5 4 4 2 4
5 3 5 2 3
【问题讨论】:
-
“不允许我使用” 什么意思?有编译错误信息吗?程序运行时出现异常?请编辑问题以包含您遇到的具体问题。
-
究竟每一行有什么格式?
-
还要考虑正则表达式是否更适合您的需求
标签: java