java - 如何重复使用我的扫描仪?

标签 java java.util.scanner

我创建了一个实用程序类,其中包含一个接受用户输入并返回其小写版本的方法,因此我没有那么多重复代码,但它只能使用一次。在那之后,它不会扫描。我该怎么做才能解决这个问题?

附注我看到很多人说重复使用扫描仪是个坏主意。为什么是这样?重置扫描仪应该没问题吧?

public String scan() {
    String input;
    Scanner s = new Scanner(System.in);
    if (s.hasNextLine()) {
        input = s.nextLine();
    } else {
        input = "ERROR";
    }
    s.reset();
    s.close();
    return input.toLowerCase();
}

最佳答案

每次使用扫描仪时,您都是正确的,它会被重置。您的问题的解决方案如下:

将要传递给 scan() 的所有参数添加到一个数组中,并使用 for 循环将它们全部传递给 scan(),同时在返回时,再次将它们添加到它们的各自的数组位置,这样您就可以轻松地在任何需要的地方重复使用它们。

关于java - 如何重复使用我的扫描仪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38006482/

相关文章:

java - 扫描仪下一行问题

java.io.FileNotFoundException(未找到文件)使用扫描仪。我的代码有什么问题?

java - 如何将数字转换为特定字母?

java - 如果设置准确性,为什么 Android LocationManager 在位置更新开始之前会有很长时间的延迟

java - 阻止用户输入扩展文本字段

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

java - 扫描仪在使用 next() 或 nextFoo() 后跳过 nextLine()?

Java 扫描器仅读取文件的第一行

java - libGDX - 纹理存储在哪里?

java - 为什么 JAXB 以不同的方式处理扩展?