第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

由于 nextInt() 導(dǎo)致的 java.util.NoSuchElementException

由于 nextInt() 導(dǎo)致的 java.util.NoSuchElementException

我有 2 個(gè)類,即 MyClient 和 CustomerUserInterface。MyClient 類有一個(gè) main 方法,我在其中調(diào)用 CustomerUserInterface 的方法。我的客戶    public class MyClient {        public static void main(String args[]) {    CustomerUserInterface customerUserInterface = new CustomerUserInterfaceImpl();    Scanner scan = new Scanner(System.in);    customerUserInterface.registerLoginMenu();    int choice = scan.nextInt();    customerUserInterface.performOperationsOnRegisterLoginMenu(choice);        }    }客戶用戶界面public class CustomerUserInterfaceImpl implements CustomerUserInterface {private CustomerBL customerBl;private ProductInterface productInterface;public CustomerUserInterfaceImpl() {    customerBl = new CustomerBLImpl();    productInterface = new ProductInterfaceImpl();}@Overridepublic void registerLoginMenu() {    System.out.println("1. Register");    System.out.println("2. Login");    System.out.println("3. Exit");}@Overridepublic void register() {    Customer customer = CustomerInputHelper.inputCustomer();    boolean status=false;    try {        status = customerBl.registerUser(customer);    }catch (SQLException e) {        e.printStackTrace();    }    if(status) {        System.out.println("Register Success");        login();    }    else {        System.out.println("Register Unsuccessful");        registerLoginMenu();    }}我面臨的問(wèn)題是,在第一個(gè) System.out 行之后,我在 login() 方法中遇到錯(cuò)誤,即Exception in thread "main" java.util.NoSuchElementExceptionat java.util.Scanner.throwFor(Unknown Source)at java.util.Scanner.next(Unknown Source)at java.util.Scanner.nextInt(Unknown Source)at java.util.Scanner.nextInt(Unknown Source)注冊(cè)成功后,寄存器會(huì)調(diào)用登錄方法,但在登錄方法調(diào)用之后,我收到上述錯(cuò)誤。我不明白這個(gè)問(wèn)題,因?yàn)橛脩糇?cè)了,但在調(diào)用登錄方法后立即顯示錯(cuò)誤。
查看完整描述

3 回答

?
慕妹3146593

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í)例。


查看完整回答
反對(duì) 回復(fù) 2023-09-27
?
qq_花開(kāi)花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

在函數(shù)調(diào)用中使用輸入變量之前,請(qǐng)嘗試減慢程序速度以接受輸入。

也就是說(shuō):驗(yàn)證“選擇”不具有任何無(wú)意義的價(jià)值。

那應(yīng)該有幫助。


查看完整回答
反對(duì) 回復(fù) 2023-09-27
?
長(zhǎng)風(fē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());

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-09-27
  • 3 回答
  • 0 關(guān)注
  • 311 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)