1

我有一个控制台菜单,必须以不同的方法多次读取输入。我用 anew BufferedReader(new InputStreamReader(System.in))来做到这一点。但是,如果此阅读器以某种方法关闭,则由于System.in.

为了解决这个问题,一种可能性是static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));它可以在不同的方法中多次使用Main.br.readLine();

这是一个好方法还是有更好的方法?

4

1 回答 1

2

将它传递BufferedReader到您的方法中(或使其成为共享字段),这样您就不必重新创建它。此外,您是正确的,关闭System.in(或包装System.in)会导致您出现问题。代替

public void foo()

就像是

public void foo(BufferedReader reader)
于 2015-05-11T12:14:38.560 回答