我正在练习使用扫描仪,我遇到了一个奇怪的情况,我希望社区提供一些帮助来理解这一点。我有一个带有以下数字的文本文件1,2,3,95,93使用以下 java 代码读取文本文件fsc = new Scanner(new File(fileName));fsc.useDelimiter(",");while (fsc.hasNextLine()) { while (fsc.hasNextInt()){ System.out.print(fsc.nextInt() + ","); } System.out.println(); fsc.nextLine(); }结果总是跳过最后一个数字。1,2,3,5,3,我如何让它不忽略最后一项?编辑:一些解决方案要求将它们拆分为数组并将字符串转换为整数,但是我想探索Scanner.nextInt()使用编辑2:我很抱歉似乎很多人误解了这个问题。我的意思是缺少每行的最后一位数字!
2 回答
温温酱
TA贡献1752条经验 获得超4个赞
这是因为您删除了标准分隔符,即换行符。你需要
fsc.useDelimiter("[ ,\r\n]");
所以这变成
fsc = new Scanner(new File(fileName));
fsc.useDelimiter("[ ,\r\n]");
while (fsc.hasNextLine()) {
while (fsc.hasNextInt()){
System.out.print(fsc.nextInt() + ",");
}
System.out.println();
if (fsc.hasNextLine())
fsc.nextLine();
}
添加回答
举报
0/150
提交
取消