簡體   English   中英

如何使用帳號登錄-Java

[英]How to login with Account Number-Java

大家好,我正在嘗試使用存儲在數組列表中的帳號登錄,但我無法將用戶輸入與帳號匹配。我的代碼如下:

登錄方式-主類

private void Login (){

    int UserInput; 
    Scanner option = new Scanner (System.in);

    Account Account = new Account();
    ArrayList<Client> customers = bank.getCustomers(); //Gets Customer Info from Bank 
    System.out.println("What is your Account Number?");
    UserInput = option.nextInt();



        if(UserInput==Account.getAccountNumber()){
             Menu();
             int choice = UserInput();
             performAction(choice);
        //system.out.println(i+1 + ")" + customers.get(i).BasicInfo());
        }
        else {
            System.out.println("Invalid Account Number");
          }




    }

ArrayList - 銀行類

  public class Bank {

    ArrayList<Client> customers = new ArrayList<Client>(); //Adds customer details in this

        void addCustomer(Client customer) {
        // TODO Auto-generated method stub
        customers.add(customer);//Adds customer from Menu to ArrayList  
    }

        Client getCustomer(int account) {
        // TODO Auto-generated method stub
        return customers.get(account); //Returns Customer detail from ArrayList
    }

        ArrayList <Client> getCustomers (){
            return customers;  //Returns customers
        }

}

大家好,我要做的是使主類中的 userInput 能夠匹配來自“GetMethod”的 AccountNumber 我相信它存儲在“Bank”類的一個數組中。如果它與帳號匹配其他方法在 if 語句中起作用。現在,當我輸入 AccountNumber 時,它只會轉到 else 語句並顯示“無效的 AccountNumber”。如果這沒有意義,我深表歉意。

從您的代碼中,我認為您正在其他地方保存用戶的帳號。

您從 Account 類獲得的帳號是下一個可以分配的帳號。當您初始化 Account 類時,在 Account 構造函數中它會增加帳號。 該數字是從 Account.getAccountNumber() 返回的。

這不可能是現有用戶的帳號。

解決方案:您沒有在此處發布客戶類。 但是您的客戶類中必須有一個 account_number 變量。您可以為帳號設置一個 getter。 在銀行內,您列出了客戶。 您需要遍歷每個客戶並將輸入帳號與這些客戶的帳號相匹配。您在銀行類中的循環可能如下所示:

  for(int i=0;i<customers.size();i++){
    if(inputAccountNumber == customers.get(i).getAccountNumber())
    {
      return true;
     }
   }

這不是一個可擴展的解決方案。 您可以為客戶設置一個哈希映射,以帳號為鍵,值為該客戶的客戶類實例。

希望這能解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM