2012-12-27 146 views
-3

我有一個問題,我無法獲取值進入我的數組列表中的某個位置。我有用戶輸入,成功地將字符串存儲到變量,但我不知道如何將它們放入數組的特定單元格。將字符串輸入ArrayList

代碼:

public void newAccount() { 
    firstName = JOptionPane.showInputDialog("What's your first name?"); 
    nLastName = JOptionPane.showInputDialog("What's your last name?"); 
    nAddress = JOptionPane.showInputDialog("What's your current address?"); 
    nCity= JOptionPane.showInputDialog("What's your current city?"); 
    nState = JOptionPane.showInputDialog("What's your current State?"); 
    nZipCode = JOptionPane.showInputDialog("What's your current Zip Code?"); 
    account.add(accountNumber, firstName); 
    account.add(accountNumber, nLastName); 
    account.add(accountNumber, nAddress); 
    account.add(accountNumber, nCity); 
    account.add(accountNumber, nState); 
    account.add(accountNumber, nZipCode); 
} 
+1

請考慮放棄發佈的代碼中的'>',因爲它們會分散注意力並使代碼難以閱讀。謝謝。 –

+0

您必須提及'account'變量的數據類型。 – Shivam

+2

你能*請*按照教程? (也許一個在各種集合類型。)這必須是今天晚上第10次這個問題(或一個非常相似)已經出現.. – 2012-12-27 03:57:36

回答

0

如果變量賬號是Arraylist,那麼你錯誤地使用它。您只在位置帳號中添加ZipCode到陣列列表。

您應該創建一個帳號對象,其中姓和名,郵編等進入。

然後把這個帳戶對象放入Arraylist。這樣你就會有一個Arraylist填充帳戶對象。

0

什麼account變量的類型?如果它是一個ArrayList,那麼您的設計就會關閉,因爲您不希望將字符串添加到ArrayList來表示單個Account對象。這是充滿錯誤的,其中最不重要的是無序添加東西的風險。相反,您應該創建一個Account類,其中包含您當前正試圖添加到數組列表中的值的字段。

public class Account { 
    private String firstName; 
    private String lastName; 
    // .... etc 

    public Account(String firstName, String lastName, .... etc...) { 
    this.firstName = firstName; 
    this.lastName = lastName; 
    // .... etc... 

    } 

然後,您可以創建傳入你有以上到它的構造的值的帳戶對象。

Account newAccount = new Account("John", "Smith", ..... etc...); 

然後你可以有帳戶對象的ArrayList,或更好表示爲ArrayList<Account>和個人賬戶的對象添加到這個列表輕鬆。

+0

後等於/哈希代碼:) – Woot4Moo

+0

@ Woot4Moo:that和'toString() '作爲OP的練習。 –

0

正如我假定使用和ArrayList ...使用的第一參數接受其中的新值將被添加

account.add(index,value); 

其中是index索引的add()第二種方法是一個整數,將定義在指數會是怎樣的value將被存儲在ArrayList中

value可以是一個對象,那麼你可以創建一個類的對象,並將其保存到value 例如

List<AccountItem> = new ArrayList<AccountItem>(); 

class AccountItem(){ 
    public String firstname; 
    public String lastname; 
} 

AccountItem ai = new AccountItem(); 
ai.firstname= "you"; 
ai.lastname = "me"; 

account.add(2,ai); //where i save the new object in index 2 
1

你想使用ArrayList以下add method,執行以下操作允許您將條目指定索引處:

ArrayList al = new ArrayList(); 
al.add(index, object); 

另外要注意,記得在Java中索引均爲0爲主。