扫描仪输入不可见
Scanner Input is Invisible
我的 Java 扫描仪有问题。我的问题是,我目前正在为 Minecraft 编写一个 CloudSystem,并且编写了一个 Master 和一个 Wrapper。在 Wrapper 上,Scanner 工作得很好,但在 Master 上却不行。问题是,在 Master 上,我在控制台中写入的输入未显示,我必须按两次 Enter,以便扫描器获得输入。代码在 Wrapper 和 Master 上完全相同,只是对 switch case 进行了一些编辑。还有一点奇怪,它适用于 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。不好意思,我是德国人。
已修复...我的问题是我之前启动了 Netty 服务器,因此我忘记在新线程中启动它,因此它不会阻塞主线程...糟糕!我希望我能在这方面帮助其他开发者,因为有时候……你只是不会考虑那样的情况。
我的 Java 扫描仪有问题。我的问题是,我目前正在为 Minecraft 编写一个 CloudSystem,并且编写了一个 Master 和一个 Wrapper。在 Wrapper 上,Scanner 工作得很好,但在 Master 上却不行。问题是,在 Master 上,我在控制台中写入的输入未显示,我必须按两次 Enter,以便扫描器获得输入。代码在 Wrapper 和 Master 上完全相同,只是对 switch case 进行了一些编辑。还有一点奇怪,它适用于 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。不好意思,我是德国人。
已修复...我的问题是我之前启动了 Netty 服务器,因此我忘记在新线程中启动它,因此它不会阻塞主线程...糟糕!我希望我能在这方面帮助其他开发者,因为有时候……你只是不会考虑那样的情况。