gpt4 book ai didi

java - Java 中的 Scanner.skip()

转载 作者:行者123 更新时间:2023-12-01 08:00:27 25 4
gpt4 key购买 nike

我对 Java 很陌生,正在尝试了解 Scanner 类。我正在使用example code了解 Scanner 类的skip(String Pattern) 方法。我稍微调整了代码并将其更改为

import java.util.*;

public class ScannerDemo {

public static void main(String[] args) {

String s = "Hello World! 3 + 3.0 = 6.0 true ";

// create a new scanner with the specified String Object
Scanner scanner = new Scanner(s);

// changed the string to skip
scanner.skip("World");

// print a line of the scanner
System.out.println("" + scanner.nextLine());

// close the scanner
scanner.close();
}
}

我期望的输出是

Hello ! 3 + 3.0 = 6.0 true

但是我得到了NoSuchElementException。有人可以指出我的错误吗?

最佳答案

不是 nextLine 给你带来异常,而是skip("World")。

当扫描仪启动时,它指向“Hello Word...”中的“H”,即第一个字母。

然后你告诉他跳过,并且必须给出跳过的正则表达式。

现在,在单词“World”之后跳到的一个很好的正则表达式是:

scanner.skip(".*World");

“.*World”表示“每个字符后跟 World 任意次数”。

这会将扫描仪移动到“!”在“Hello World”之后,所以 nextLine() 将返回

! 3 + 3.0 = 6.0 true

按照跳过,“Hello”部分已被跳过。

关于java - Java 中的 Scanner.skip(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25700922/

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