这是我的工作代码。
public static void play() {
Scanner myScanner = new Scanner(System.in);
Scanner myOtherScanner = new Scanner(System.in);
while (!endCondition()) {
//stuff
shoot(myScanner);
}
keepPlaying(myOtherScanner);
myScanner.close();
myOtherScanner.close();
}
接收方法myScanner:
static void shoot(Scanner sc) {
int bullet;
//Stuff
bullet = Integer.parseInt(sc.next());
//More stuff
}
接收方法myOtherScanner:
static void keepPlaying(Scanner myOtherScanner) {
//Stuff
int option = Integer.parseInt(myOtherScanner.next());
//More stuff
}
现在我不明白的是:
如果我myScanner在调用之前关闭keepPlaying(myOtherScanner),myOtherScanner.next()将抛出:
无此类元素异常
从我发现的情况来看,关闭单个 Scanner 似乎会关闭System.in. 那是对的吗?
绕过它的好方法是什么?只在最后关门?
使用单个更好Scanner吗?
我是否使用Scannersas 全局类元素?
我只是不关闭Scanners吗?
慕斯709654
www说
相关分类