将用户输入存储在数组或数组列表中

Storing User Input in an Array or an Arraylist

第一次发帖,如有问题请见谅。

我一直在 netbeans 中摆弄 GUI,并试图将用户输入从文本字段获取到数组或 ArrayList 中。我试图暂时存储用户输入的客户名称、地址、日期、网点数量和区域数量,然后将它们显示在 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 比较陌生,我真的只做过几个小程序

非常感谢任何帮助。

在这种情况下,将数据存储在 Array 或 ArrayList 中对迭代项目的方式没有太大影响。但是,使用 ArrayList 看起来更简洁,因为它将相关信息(一个客户的姓名和地址)组合在一起。 我认为更好的方法是创建一个模型 class 来保存数据。像这样:

private class Customer {
    private name;
    private address;

    //getter and setter methods
}

然后在您的代码中,您保存如下信息:

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);

现在您可以遍历客户列表:

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

如果您想显示来自客户的更多信息(如电话号码、性别等),这也会更容易。如果您使用数组或 ArrayList,那么代码会是什么样子?