gpt4 book ai didi

java - 如何再次读取 Scanner 实例的最后输入?

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

如何让控制台扫描仪再次使用上次输入? 如果我有类似 y=scanner.nextInt(); 的东西我希望下次使用扫描仪时使用与上一行相同的输入,我该怎么做?

最佳答案

I want my next use of the scanner to use the same input from the previous line, how would I do that?

没有办法让 Scanner 做到这一点。 Scanner API 不提供任何回溯到最后一次成功读取操作之前的点的方法。由于扫描器的内部缓冲,尝试通过“寻找”底层流来做到这一点不太可能奏效。

我能想到的最好的通用解决方案是:

Scanner scanner = new Scanner( ... )
while (scanner.hasNext()) {
String line = scanner.nextLine();
Scanner lineScanner = new Scanner(line);
// read tokens from lineScanner
// to "reset" to the start of the line, discard lineScanner
// and create a new one.
}

另一种方法可能只是保存您扫描的内容,并在更高级别进行重置。但是,如果您需要以不同方式 重新扫描行,那将不起作用;例如使用 nextInt() 调用而不是 next() 调用。

关于java - 如何再次读取 Scanner 实例的最后输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35388250/

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