2015-08-27 258 views
-1

這是第一次發佈,如果問題不好,請原諒。將用戶輸入存儲在數組或陣列列表中

我一直在與NetBeans中的圖形用戶界面搞混,並嘗試從文本字段獲取用戶輸入到數組或ArrayList中。我正在嘗試臨時存儲customerName,地址,日期,插座數量和區域數的用戶輸入,然後將它們顯示在TextArea中作爲按日期排序的列表。

我曾嘗試剛剛然後,該代碼是:

private void enterButtonActionPerformed(java.awt.event.ActionEvent evt) {            


    List<List<String>> model = new ArrayList<List<String>>(); 
    ArrayList<Double> numOutlets = new ArrayList<Double>(); 

    nameField.selectAll(); 
    addressField.selectAll(); 
    outletField.selectAll(); 
    String customerName = nameField.getSelectedText(); 
    String address = addressField.getSelectedText(); 

    List<String> line = Arrays.asList(new String[]{customerName, address}); 
      model.add(line); 

      StringBuilder sb = new StringBuilder(); 
      Display.append(String.format("Customer Address")); 
      for(List<String> input : model) { 
       for (String item : input) { 
        Display.append(item); 
        if (input.indexOf(item) == input.size()-1) { 
         Display.append("\n"); 
        } else { 
         Display.append("\t"); 


        } 
       } 
      } 





    /*Display.append(String.format(" " + installationNumber + " " + customerName + " " + address)); 

       nameField.setText(""); 
       addressField.setText(""); 
       zoneField.setText(""); 
       outletField.setText(""); 
       dateField.setText(""); 

    installationNumber++; 

我一直有被存儲從文本框到陣列中的用戶輸入的主要問題。

如果您有其他的方式,我應該去了解它,然後,這也將是真棒,我是比較新的Java和我真的只是做了幾個小節目

任何幫助深表感謝。

+2

發佈您的代碼並準確指定您遇到問題的位置和位置。 – Codebender

+0

你有一個單一的文本框爲整個地址? – MrT

+0

是的,我已經得到了整個地址的單個文本框 – krissy

回答

0

在這種情況下,將數據存儲在數組或ArrayList中並沒有太大的區別。但是,使用ArrayList看起來更清潔,因爲它將相關信息(一個客戶的姓名和地址)分組在一起。 我認爲更好的方法是創建一個模型類來保存數據。事情是這樣的:

private class Customer { 
    private name; 
    private address; 

    //getter and setter methods 
} 

然後在你的代碼,你保存的信息象下面這樣:

for(Customer input : customers) { 
    Display.append(input.getName()); 
    Display.append("\t"); 
    Display.append(input.getAddress()); 
    Display.append("\n"); 
} 

它也更容易,如果:

List<Customer> customers = new ArrayList<Customer>(); 

String customerName = nameField.getSelectedText(); 
String address = addressField.getSelectedText(); 
Customer customer = new Customer(); 
customer.setName(customerName); 
customer.setAddress(address); 
customers.add(customer); 

現在,您可以通過客戶列表迭代您希望顯示更多來自客戶的信息(如電話號碼,性別......)。如果你使用數組或ArrayList,那麼在這種情況下代碼將會是什麼樣子?

+0

非常感謝,爲我解決了它現在都運行良好,謝謝! – krissy

相關問題