我的Java扫描程序有问题。我的问题是,我目前正在为Minecraft编写一个CloudSystem,我编写了一个Master和一个Wrapper。在Wrapper上,扫描仪工作得很好,但在Master上没有。问题是,在Master上,我在控制台中写入的输入没有显示,我必须按两次Enter,所以Scanner获取输入。代码在Wrapper和Master上完全相同,只需对开关盒进行一些编辑。它有点奇怪,它适用于Windows但不适用于Debian。
这是我的代码:
public static void startScreen() {
System.out.println(AnsiColor.GREEN + "Was moechtest du tun?");
while (true) {
String action = new Scanner(System.in).nextLine();
switch (action) {
case "close":
WebSocketServer.group.shutdownGracefully();
shutdownServers();
bcprocesse.destroy();
System.exit(0);
break;
case "creategroup":
createGroup();
break;
case "groups":
Group.list();
break;
case "users":
User.list();
break;
case "deletegroup":
deleteGroup();
break;
case "help":
help();
break;
case "createuser":
createUser();
break;
case "deleteuser":
deleteUser();
break;
case "request":
System.out.println(AnsiColor.GREEN + "Welche Gruppe willst du benutzen? Es gibt: " + Group.getGroupsAsList().toArray().toString() + "\n");
requestServer(new Scanner(System.in).nextLine());
}
}
}
我希望有人可以帮助我。
P.S。对不起任何事情,我来自德国。
答案 0 :(得分:0)
修复了该问题...我的问题是我之前已经启动了Netty Server,因此我忘记在一个新线程中启动它,因此它不会阻塞主线程...糟糕!我希望我可以帮助其他开发人员,因为有时..您只是不考虑这种情况。