为了账号安全,请及时绑定邮箱和手机立即绑定

java.lang.IllegalStateException:扫描仪已关闭

java.lang.IllegalStateException:扫描仪已关闭

肥皂起泡泡 2019-12-06 15:41:32
我得到了以下代码,但是在第一个循环之后,我的调试器给出了以下错误,这很奇怪,我一直那样做,但是它不再起作用了,这很奇怪吗?我一步一步检查,切换命令后只是停顿了吗?Exception in thread "main" java.lang.IllegalStateException: Scanner closed        at java.util.Scanner.ensureOpen(Unknown Source)        at java.util.Scanner.findWithinHorizon(Unknown Source)        at java.util.Scanner.nextLine(Unknown Source)        at Level.schleife(Level.java:35)        at Crawler.main(Crawler.java:23)public boolean schleife() {    System.out.println("Das Spiel beginnt, bewege Dich mit der WASD Steuerung!");    Scanner eingabeMove = new Scanner(System.in);    tmpi = positioni;    tmpj = positionj;    while (true) {        String bewegung = eingabeMove.nextLine();        switch (bewegung) {            case "w": {                                        // vorwärts                tmpi += 1;                if (actionResult()) {                    positioni = tmpi;                    break;                } else {                    return false;                }            }            case "a": {                                    // links                tmpj -= 1;                if (actionResult()) {                    positionj = tmpj;                    break;                } else {                    return false;                }            }            case "s": {                                    // rückwärts                tmpi -= 1;                if (actionResult()) {                    positioni = tmpi;                    break;                } else {                    return false;                }            }            case "d": {                                    // rechts                tmpj += 1;                if (actionResult()) {                    positionj = tmpj;                    break;                } else {                    return false;                }    }}
查看完整描述

3 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

实际上,如果将closewhile循环外移,它将永远不会被调用,因为离开循环的唯一方法是使用return语句之一。 

查看完整回答
反对 回复 2019-12-06
?
慕仙森

TA贡献1827条经验 获得超7个赞

gknicker我不能使用调用方法,不能在另一个类中schleife在我的main方法中启动方法,并且schleife在第二个类中定义该方法...向下2行,右边不可达,并且1也不起作用

查看完整回答
反对 回复 2019-12-06
  • 3 回答
  • 0 关注
  • 715 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信