java - 无法使用扫描器类从静态 block 读取输入

标签 java exception static java.util.scanner static-initializer

我想从静态块中的用户读取数据并需要检查那里的某些条件但是当我尝试调用 nextInt() 时它会导致一些错误

public class Test {
    static int B,H;
    static{
        Scanner s=new Scanner(System.in);
        B=H=0;
        B=s.nextInt();
        H=s.nextInt();
        s.close();
    }
}

Exception in thread "main" java.lang.ExceptionInInitializerError

Caused by: java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at Solution.initialise(Solution.java:21) at Solution.(Solution.java:15)

最佳答案

public class App {
    static int B, H;
    static {
        Scanner s = new Scanner(System.in);
        B = H = 0;
        B = s.nextInt();
        H = s.nextInt();
        s.close();
    }

    public static void main(String[] args) {

    }
}

关于java - 无法使用扫描器类从静态 block 读取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53900041/

相关文章:

Java GSON : Deserializing a field which has different types

java - 设置 session 变量的 scriptlet 的替代方案?

java - Java 中的异常规范有什么好处?

c++ - 函数中的静态整数

java - 静态方法和静态变量,糟糕的设计实践?

java - 无法访问新的 OFBiz 16.11 插件

java - 如何使一个 JPanel 在另一个 JPanel 中扩展到最大宽度

c++ - 异常未被销毁

java - 从jsp文件中调用java函数

asp.net-mvc - 有什么理由为什么我的存储库方法不应该是静态的?