Java扫描仪故障



最近我开始学习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()

最新更新