Помещение ряда переменных из пользовательского ввода в список массивов - PullRequest
0 голосов
/ 11 февраля 2012

Я пишу программу, в которой пользователю предлагается ввести некоторые записи, такие как Имя, Фамилия и т. Д., А затем сохранить все эти записи в одном месте массива. Другими словами, переменные (имя, фамилия, телефон) будут добавлены в ячейку 0 массива.

Трудность, с которой я сталкиваюсь, заключается в том, чтобы получить все эти переменные и сохранить их в месте расположения списка массивов. Кто-нибудь может мне помочь ? Спасибо.

public class Loans
{
    ArrayList lns = new ArrayList();

    void LoansInput ()
    {
           // Add New Loan Button  

           // Requesting DVD ID
                    String dvdid;
                    dvdid =JOptionPane.showInputDialog("Enter DVD ID Number");

            // Requesting Member Name & Surname
                    String namesurname;
                    namesurname = JOptionPane.showInputDialog("Client Name & Surname");

            // Requesting Member ID Number
                    String mid;
                    mid =JOptionPane.showInputDialog("Client ID Number");

            // Requesting Member ID Number
                    String telephone;
                    telephone =JOptionPane.showInputDialog("Client Telephone Number");

            // Requesting Rental Date
                    String rentaldate;
                    rentaldate =JOptionPane.showInputDialog("Rental Date (DD-MM-YY)");                                    

            // Requesting Return Date
                    String returndate;
                    returndate =JOptionPane.showInputDialog("Return Date (DD-MM-YY)");

Что я должен добавить сюда, чтобы получить все эти переменные и поместить их в Arraylist lns в одном месте? (Не каждая запись в разных местах)

Ответы [ 5 ]

1 голос
/ 11 февраля 2012

Хорошим подходом было бы создание объекта User, например, (геттеры и сеттеры пропущены)

public class User {
   private Stringg surname;
   private String memberId;
   private String telephone;
   // etc. 
}

Тогда вы можете сохранить список User объектов вместо

List<User> users = new LinkedList<User>();

Вы создаете свой пользовательский объект и заполняете его из полученного вами ввода, например,

User user = new User();
String surname = JOptionPane.showInputDialog("...");
user.setSurname(surname);

users.add(user);
0 голосов
/ 11 февраля 2012

Создайте класс со всеми необходимыми переменными, создайте объекты для каждого объекта и поместите их в ArrayList. Я думаю, что это решит вашу проблему.

0 голосов
/ 11 февраля 2012

Сначала создайте объект DVD, как показано ниже ...

class DVD {

    private int dvdId;
    .
    .
    .
    .

    //now set getter setters
    public void setdvdId(int dvdId) {
    this.dvdId = dvdId
    }

    public int getdvdId() {
    return dvdId;
    }

    // similarly for all field
}

Затем используйте объект DVD в arraylist, как показано ниже

class MyProgram {
    public static void main (String args[]) {


    List<DVD> arrayList = new ArrayList<DVD>();

    DVD myDVD = new DVD();
    myDVD.setdvdId(Integer.parseInt(JOPtionPane.showInputDialog("Enter ID")));
    // similarly add other
    .
    .
    .
    .
    .

    arrayList.add(myDVD)

    // similarly add other
    }
}

Удачи !!!

0 голосов
/ 11 февраля 2012

Вы определенно должны создать класс для этих переменных, скажем, DVD, затем вы можете использовать его в своем коде, например

List<DVD> arrayList = new ArrayList<DVD>(); //always use a raw types (List)
DVD dvd = new DVD();
dvd.setId(JOPtionPane.showInputDialog("Enter ID");
//and so on, when you finish, just put the object in the array
arrayList.add(dvd);

И ваш объект DVD должен переопределить метод hashCode и equals, чтобы вы могли эффективно использоватьискать объекты DVD в вашем ArrayList

0 голосов
/ 11 февраля 2012

Почему бы вам не создать класс Dvd, содержащий все необходимые вам поля, и сохранить его в ArrayList?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...