2016-04-30 63 views
4

如何在每次用戶要創建新帳戶時創建唯一對象?Java如何創建唯一的對象名稱?

例如,如果用戶使得如果用戶發出另一個帳戶我想命名對象ACC2我想命名ACC1然後對象的帳戶。 Account ac = new Account(input.nextInt(),0,0);。這是我需要它發生的地方。

我試着保持代碼儘可能簡單,也注意到我對java很陌生,這是一個個人項目,只是爲了學習。

System.out.println("Welcome to JAVA Bank"); 
    System.out.println("____________________"); 
    System.out.println("Plese Choose an Option: "); 
    System.out.println(""); 
    System.out.println("(1) New Account"); 
    System.out.println("(2) Enter Existing Account"); 



    int choice = input.nextInt(); 


    switch(choice){ 

     case 1: 
      System.out.println("Please choose an Account ID#"); 
      Account ac = new Account(input.nextInt(),0,0); 
      break; 




public class Account { 

private int id = 0; 
private double balance = 0; 
private double annualInterestRate = 0; 
private Date dateCreated; 

public Account(int id, double balance, double annualInterestRate) { 
    this.id = id; 
    this.balance = balance; 
    this.annualInterestRate = annualInterestRate; 
    this.dateCreated = new Date(); 

} 

幫助表示感謝你。

+0

你知道Java集合的? –

+0

我對此並不熟悉。 – David

+2

@大衛 - 然後熟悉它! https://docs.oracle.com/javase/tutorial/collections/你的目標是學習Java。 –

回答

4

如果您想要一種識別多個帳戶的獨特方式,可能需要使用HashMap。 HashMap存儲每個鍵唯一的鍵值對。

創建一個類級別的變量來存儲賬戶:

Map<String, Account> accounts = new HashMap<String, Account>(); 

創建/加入帳戶的HashMap:

case 1: 
    System.out.println("Please choose an Account ID#"); 
    int accountID = input.nextInt(); //Get the requested ID 
    if (accounts.containsKey("acc"+accountID) //Check to see if an account already has this ID (I added acc to the start of each account but it is optional) 
    { 
     //Tell user the account ID is in use already and then stop 
     System.out.println("Account: " + accountID + " already exists!"); 
     break; 
    } 

     //Create account and add it to the HashMap using the unique identifier key 
     Account ac = new Account(input.nextInt(),0,0); 
     accounts.put("acc"+accountID, ac); 
+1

感謝您對評論的簡單回答。我會試一試,看看它是如何解決我想要完成的。所以每次創建一個帳戶,它都會通過hashmap收到一個唯一的ID?如果有多個,我將如何通過該ID訪問它?還是應該通過我的班級ID進入? – David

+0

您可以通過accounts.get(「acc」+ ID);來訪問帳戶。請注意,如果帳戶不存在,它將返回空值而不是帳戶。 – CConard96

+0

我在哪裏插入地圖 accounts = new HashMap (); ?????我試圖把它放在任何地方,它不起作用。它說找不到符號Class:Map。我試圖把它放在我的課,不同的方法,在主,我improted util.hashMap和沒有任何工作 – David

相關問題