3 回答

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

TA貢獻(xiàn)1835條經(jīng)驗 獲得超7個贊
在函數(shù)調(diào)用中使用輸入變量之前,請嘗試減慢程序速度以接受輸入。
也就是說:驗證“選擇”不具有任何無意義的價值。
那應(yīng)該有幫助。

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