2011-01-28 87 views
4

我有一個簡單的客戶端服務器程序,其中我有我的菜單中選擇一個問題:是否有與Java相當的getchar?

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"));` 

我想打印屏幕上的結果,等到我按輸入,然後再次顯示菜單,所以我使用System.in.read()。我的問題是,它的第一次,但如果我選擇其他選項,它不打印任何東西:

---- ---- MENU

(DRV) - 驅動器列表
(PWD) - 當前路徑
(LS) - 在一個目錄
(退出)列出文件 - 退出程序

輸入命令:PWD
d:\ Documents和Settings \ asname \ workspace_java \服務器

---- ---- MENU

(DRV) - 驅動器列表
(PWD) - 當前路徑
(LS) - 在一個目錄
(退出)列出文件 - 退出程序

輸入命令:ls

有沒有在Java中的方法類似getchar,我可以改用?

回答

4

只需添加scanner.nextLine();System.out.println(message);經過這麼等待

+0

不工作對我來說:( – Kobe 2011-01-28 19:10:08

相關問題