Scanner.useDelimiter 未按预期工作

实际答案应该是stackandoverflow在两个单独的行中输入stack.overflow;使用的分隔符是“.”。输出中没有显示任何内容:


Scanner p = new Scanner(System.in);


p.useDelimiter(".");


System.out.println("delimiter is "+ p.delimiter());


\\this above line is producing expected output


while(p.hasNext()){

    System.out.println(p.next());

}

对于输入stack.overflow和分隔符“。” 预期输出是


stack

overflow


qq_笑_17
浏览 148回答 1
1回答

繁星淼淼

p.useDelimiter(".");Delimiter 是一个正则表达式,.在正则表达式中表示“每个可能的字符”。您使用“每个可能的字符”作为分隔符,使 Scanner 返回每对字符之间的所有内容,这将导致大量空字符串。转义点:p.useDelimiter("\\.");输出:delimiter is \.stackoverflow
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java