我有一个简单的客户端服务器程序,其中我的菜单有问题:
do {
System.out.println("---- MENU ----\n");
System.out.println("(drv) - List drives");
System.out.println("(pwd) - Current path");
System.out.println("(ls) - List files in a directory");
System.out.println("(quit) - Quit program\n");
System.out.print("Enter a command: ");
command = scanner.nextLine();
sendMessage(command);
message = (String)in.readObject();
System.out.println(message);
System.in.read();
}while(!command.equals("quit"));`
我想在屏幕上打印结果,等到我按 Enter 然后再次显示菜单,所以我使用System.in.read()
。我的问题是它第一次工作,但如果我选择其他选项,它不会打印任何东西:
---- MENU ----
(drv) - 列出驱动器
(pwd) - 当前路径
(ls) - 列出目录中的文件
(退出) - 退出程序输入命令:pwd
D:\ Documents and Settings \ asname \ workspace_java \ server---- MENU ----
(drv) - 列出驱动器
(pwd) - 当前路径
(ls) - 列出目录中的文件
(退出) - 退出程序输入命令:ls
在Java中是否存在类似于getchar
的方法,我可以使用它?
答案 0 :(得分:4)
只需在scanner.nextLine();
后添加System.out.println(message);
即可等待