最近我开始学习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();
}
''
调用nextLine()
从扫描仪读取下一行,并且似乎不会停止在分隔符处。将nextLine()
调用替换为next()
。