3 回答

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
您在 system.in 上注冊(cè) Scanner 兩次,在 MyClient 中注冊(cè)一次:
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);
這是行不通的,因?yàn)榈谝粋€(gè)掃描儀已經(jīng)有了 System.in 流。
您需要在整個(gè)程序中使用相同的掃描儀實(shí)例。

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

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