gpt4 book ai didi

Java Scanner next (".") 给我 java.util.InputMismatchException

转载 作者:行者123 更新时间:2023-11-29 08:24:27 24 4
gpt4 key购买 nike

我正在测试 java 扫描器:

Scanner s = new Scanner("hello");
String k = s.next("."); // <<<<-----this line throws exception
System.out.println(k);

即使使用 Pattern 也给我同样的异常。我错过了什么吗?谢谢

最佳答案

正如 Scanner.next(Pattern str) 的文档所述: 如果匹配指定的模式则返回下一个标记,

所以如果你想在 k 中得到一些东西,你需要一个匹配 hello 的模式,比如

  • .* :零到无限的东西

    s.next(".*");
  • \\w+ 一个到无限的字字符

    s.next("\\w+");

注意:

  • 你编写 s.next("."); 寻找任何东西,但只有一次,你的字符串不匹配

  • 此代码将仅读取第一个单词,因为默认分隔符是 space

    Scanner s = new Scanner("hello foo");
    System.out.println(s.next(".*")); // hello
  • 所以这段代码将完全读取 codz,因为没有 - 字符

    Scanner s = new Scanner("hello foo");
    s.useDelimiter("-");
    System.out.println(s.next(".*")); // hello foo

关于Java Scanner next (".") 给我 java.util.InputMismatchException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54400793/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com