3 回答

TA貢獻1820條經驗 獲得超9個贊
您在 system.in 上注冊 Scanner 兩次,在 MyClient 中注冊一次:
public class MyClient {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
一旦進入 CustomerUserInterface 登錄方法:
@Override
public void login() {
Scanner scan = new Scanner(System.in);
這是行不通的,因為第一個掃描儀已經有了 System.in 流。
您需要在整個程序中使用相同的掃描儀實例。

TA貢獻1757條經驗 獲得超7個贊
該類的文檔告訴您,如果輸入流耗盡,則會拋出。因此我假設輸入流由于某種原因關閉。ScannerNoSuchElementException
你如何運行你的代碼?通過 IDE 還是僅通過java MyClient命令行調用?也許這就是你的錯誤。
如果您運行以下代碼,它應該重復您的輸入。如果這不起作用,那么您正在以錯誤的方式調用代碼。
public class MyClient {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println(sc.nextInt());
}
}
添加回答
舉報