java - 在哪里关闭这个 `input` 扫描器?

标签 java java.util.scanner

package game1;
import java.util.Scanner;

public class toothpicks {

    private int number;
    public int HowMany()
    {
        do
        {
            System.out.print("Enter the No. of ToothPicks = ");
            Scanner input =new Scanner(System.in);
            number = input.nextInt(); 
            if(number<4)
            {
                System.out.print("ToothPicks Should be greater than 3\n");

            }

        }while(number<4);

        return number;
    }
}

我在哪里可以关闭程序中的input 扫描器?如果我在程序结束时关闭它,就在返回语句说 input cannot be resolved 之前关闭它,它会给我错误,但是如果我在循环中关闭它,那么我无法实现我想要的使用此 HowMany 方法?该怎么办 ?任何帮助将不胜感激

最佳答案

您将在每个循环中创建一个新的 Scanner 实例。不过,您不需要这样做,所以您可以这样做

Scanner input = new Scanner(System.in);
// do while loop goes here

然后在 return 语句之前关闭 Scanner。

关于java - 在哪里关闭这个 `input` 扫描器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161220/

相关文章:

java - 运行测试时 Ant + JUnit = ClassNotFoundExceptions?

java - 将 Base64 字符串解码和编码为位图时出现 OutOfMemoryError

java - 使用 Java 9 运行应用程序,模块 java.base 不是 "opens java.io"

java - 连续输入命令

java - 如何结合扫描仪和多重 map ?

java - 如何强制扫描仪读取未完成的行

java - 让 Map 表现得像 ArrayList

java - 是否可以在运行时用 Java 实现接口(interface)?

java - 将多个输入读取到数组中的一个位置

java - 双 + 双 = 字符串?