最近我开始学习Java。可能这是一个愚蠢的问题:使用'p'字符作为扫描仪的分隔符,我希望输出为
42
17
Hello World
当它
42
17
pHello World
分隔符可能会从扫描仪的令牌中排除,为什么在最后一行还打印'p'字符?
'''
public static void main(String[] args) {
String s = "42p17pHello World";
Scanner scan = new Scanner(s);
scan.useDelimiter("p");
System.out.println(scan.nextInt());
System.out.println(scan.nextInt());
System.out.println(scan.nextLine());
scan.close();
}
'''
答案 0 :(得分:1)
调用nextLine()
会从扫描仪读取下一行,并且似乎不会在定界符处停止。将nextLine()
调用替换为next()
。