简体   繁体   English

如何检索用户在Java中输入到arraylist中的所有记录

[英]How do you retrieve all of the records that a user inputs into an arraylist in java

I am trying to retrieve every record that an arraylist contains. 我正在尝试检索arraylist包含的每条记录。 I have a class called ContactList which is the super class of another class called BusinessContacts. 我有一个名为ContactList的类,它是另一个名为BusinessContacts的类的超类。 My first task is to print only the first name and last name of a contact. 我的第一个任务是仅打印联系人的名字和姓氏。 The second task is to print details of a contact that's related to its id number. 第二项任务是打印与其ID号相关的联系人的详细信息。 The ContactList class has all the instance variables and the set/get methods and the toString() method. ContactList类具有所有实例变量以及set / get方法和toString()方法。 The BusinessContact class consists of only two instance variables that need to be appended to the ContactList class. BusinessContact类仅包含两个实例变量,需要将它们附加到ContactList类。 How is can this be worked out? 如何解决呢? The code is below: 代码如下:

The ContactList class: ContactList类:

package newcontactapp;

public abstract class ContactList {

    private int iD;
    private String firstName;
    private String lastName;
    private String adDress;
    private String phoneNumber;
    private String emailAddress;

    // six-argument constructor
    public ContactList(int id, String first, String last, String address, String phone, String email) {
        iD = id;
        firstName = first;
        lastName = last;
        adDress = address;
        phoneNumber = phone;
        emailAddress = email;
    }

    public ContactList(){

    }

    public void displayMessage()
    {
        System.out.println("Welcome to the Contact Application!");
        System.out.println();
    }

    public void displayMessageType(String type)
    {
        System.out.println("This is a " + type);
        System.out.println();
    }

    public int getiD() {
        return iD;
    }

    public void setiD(int id) {
        iD = id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String first) {
        firstName = first;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String last) {
        lastName = last;
    }

    public String getAdDress() {
        return adDress;
    }

    public void setAdDress(String address) {
        adDress = address;
    }

    public String getPhoneNumber() {
        return phoneNumber;
    }

    public void setPhoneNumber(String phone) {
        phoneNumber = phone;
    }

    public String getEmailAddress() {
        return emailAddress;
    }

    public void setEmailAddress(String email) {
        emailAddress = email;
    }


   public String toString(){


       return getiD() + "   " + getFirstName() + "     " + getLastName() + "     " + getAdDress() + "     " + getPhoneNumber() + "     " + getEmailAddress() + "\n" ;
   }
}

The BusinessContacts class: BusinessContacts类:

package newcontactapp;


public class BusinessContacts extends ContactList {


    private String jobTitle;
    private String orGanization;

    // 
    public BusinessContacts(int id, String first, String last, String address, String phone, String email, String job, String organization){

        super();
        jobTitle = job;
        orGanization = organization;
    }

    public BusinessContacts(){

    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String job) {
        jobTitle = job;
    }

    public String getOrGanization() {
        return orGanization;
    }

    public void setOrGanization(String organization) {
        orGanization = organization;
    }

    //@Override
    public String toString(){

        return super.toString()+ " " + getJobTitle()+ " " + getOrGanization() + "\n";
    }
}

Here is my main method class: 这是我的主要方法类:

package newcontactapp;

import java.util.ArrayList;

//import java.util.Iterator;
import java.util.Scanner;

public class NewContactAppTest {

    //ArrayList<ContactList> fullList = new ArrayList<>();
    ArrayList<ContactList> bContacts = new ArrayList<>();
    ArrayList<ContactList> pContacts = new ArrayList<>();

    public static void main(String [] args)
    {

        ContactList myContactList = new ContactList() {};

        myContactList.displayMessage();

        new NewContactAppTest().go();
    }

    public void go()
    {
        ContactList myContactList = new ContactList() {};

        System.out.println("Menu for inputting a Business Contact or Personal Contact");
        System.out.println();

        Scanner input = new Scanner(System.in);

        System.out.println("Please enter a numeric choice below: ");
        System.out.println();
        System.out.println("1. Add a Business Contact");
        System.out.println("2. Add a Personal Contact");
        System.out.println("3. Display Contacts");
        System.out.println("4. Quit");
        System.out.println();

        String choice = input.nextLine();

        if(choice.contains("1")){
          String type1 = "Business Contact";
          myContactList.displayMessageType(type1);
          businessInputs();  
        }
        else if(choice.contains("2")){
            String type2 = "Personal Contact";
            myContactList.displayMessageType(type2);
            personalInputs();
        }
        else if(choice.contains("3")) {
            displayContacts();
            displayRecord();
        }
        else if(choice.contains("4")){
            endOfProgram();
        }
    }

    public void businessInputs()
    {
        BusinessContacts myBcontacts = new BusinessContacts();
        //ContactList myContactList = new ContactList() {};
        //ContactList nameContacts = new ContactList() {};

        bContacts.clear();
        int id = 0;
        myBcontacts.setiD(id);

        Scanner in = new Scanner(System.in);

            while(true){
                id = id + 1;
                myBcontacts.setiD(id);
                //myContactList.setiD(id);


                System.out.println("Enter first name ");
                String firstName = in.nextLine();
                //nameContacts.setFirstName(firstName);
                //myContactList.setFirstName(firstName);
                myBcontacts.setFirstName(firstName);


                System.out.println("Enter last name: ");
                String lastName = in.nextLine();
                //nameContacts.setLastName(lastName);
                //myContactList.setLastName(lastName);
                myBcontacts.setLastName(lastName);

                System.out.println("Enter address: ");
                String address = in.nextLine();
                //myContactList.setAdDress(address);
                myBcontacts.setAdDress(address);


                System.out.println("Enter phone number: ");
                String phoneNumber = in.nextLine();
                //myContactList.setPhoneNumber(phoneNumber);
                myBcontacts.setPhoneNumber(phoneNumber);


                System.out.println("Enter email address: ");
                String emailAddress = in.nextLine();
                //myContactList.setEmailAddress(emailAddress);
                myBcontacts.setEmailAddress(emailAddress);


                System.out.println("Enter job title: ");
                String jobTitle = in.nextLine();
                myBcontacts.setJobTitle(jobTitle);



                System.out.println("Enter organization: ");
                String organization = in.nextLine();
                myBcontacts.setOrGanization(organization);


                //bContacts.add(myContactList);
                bContacts.add(myBcontacts);

                //names.add(nameContacts);

                 //System.out.println("as entered:\n" + bContacts);

                System.out.println();
                System.out.println("Enter another contact?");

                Scanner input = new Scanner(System.in);
                String choice = input.nextLine();

                if(choice.equalsIgnoreCase("Y")) {
                     continue;
                 }

                else{
                 break;
                 }
            }
            //bContacts.add(myBcontacts);
go();
}

    public void personalInputs(){

        ContactList myContactList = new ContactList() {};
        PersonalContacts myPcontacts = new PersonalContacts();

        Scanner in = new Scanner(System.in);

        int id;
        id = 1;
        while(true){

            System.out.println("Enter first name; ");
                String firstName = in.nextLine();
                myContactList.setFirstName(firstName);
                myPcontacts.setFirstName(firstName);

                System.out.println("Enter last name: ");
                String lastName = in.nextLine();
                myContactList.setLastName(lastName);
                myPcontacts.setLastName(lastName);

                System.out.println("Enter address: ");
                String address = in.nextLine();
                myContactList.setAdDress(address);
                myPcontacts.setAdDress(address);

                System.out.println("Enter phone number: ");
                String phoneNumber = in.nextLine();
                myContactList.setPhoneNumber(phoneNumber);
                myPcontacts.setPhoneNumber(phoneNumber);

                System.out.println("Enter email address: ");
                String emailAddress = in.nextLine();
                myContactList.setEmailAddress(emailAddress);
                myPcontacts.setEmailAddress(emailAddress);

                System.out.println("Enter birth date");
                String dateOfBirth = in.nextLine();
                myPcontacts.setDateOfBirth(dateOfBirth);

                //pContacts.add(myContactList);
                pContacts.add(myPcontacts);

                id = id + 1;
                myContactList.setiD(id);

                System.out.println();
                System.out.println("Enter another contact?");

                Scanner input = new Scanner(System.in);
                String choice = input.nextLine();

                if (choice.equalsIgnoreCase("y")) {
                  continue;  
                 }
                 else{
                 break;
            }
        }
        go();
    }

    public void displayContacts(){


        System.out.println();
            for(ContactList name : bContacts){
            System.out.println(name.getiD() + "    " + name.getFirstName()+ "          " + name.getLastName());

        }
    }

    public void displayRecord(){

        System.out.println();
        System.out.println("Do you wish to see details of contact?");

        Scanner input = new Scanner(System.in);
        String choice = input.nextLine();

       if(choice.equalsIgnoreCase("Y")) {

       System.out.println();
       System.out.println("Enter the numeric key from the list to see more specific details of that record");
       System.out.println();
       Scanner key = new Scanner(System.in);


       System.out.println();
       ContactList record = new ContactList() {};       
       for(int i = 0; i < bContacts.size(); i++){
           record = bContacts.get(i);

               System.out.println(record.toString());
       }

       }
       else{
           go();
       }   


         /* else{
             System.out.println();
             System.out.println("This is a Personal Contact");
             System.out.println();
               for(int j = 0; j < pContacts.size(); j++){
                 ContactList pList = pContacts.get(j);         
                 pList = pContacts.get(j);
                 System.out.println(pList.toString());
                   }
               }*/

    }  

    public void endOfProgram(){

        System.out.println("Thank you! Have a great day!");
            Runtime.getRuntime().exit(0);
    }
}

If you're looking to get a value based on ID, try making a method that iterates over the contents of the ArrayList to find one that matches: 如果要获取基于ID的值,请尝试创建一种对ArrayList的内容进行迭代的方法,以找到ArrayList匹配的方法:

public ContactList getContactList(int id) {
    for (ContactList list : /*your ContactList List object*/) {
        if (list.getiD() == id) {
            return list;
        }
    }
    return null;
}

This will return null if none is found, or the first result in the list. 如果找不到任何内容,则返回null,否则将返回列表中的第一个结果。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 您如何允许用户从 Java 列表中检索值? - How do you allow a user to retrieve values from a list in Java? 如何在数组/ arraylist中存储多个用户输入(String,Int,Double)并输出存储的数据(Java)? - How do i store multiple user inputs (String,Int,Double) in an array/arraylist and output the stored data(Java)? 如何将不同长度的Scanner用户输入添加到ArrayList? - How do I add Scanner user inputs of varying length to an ArrayList? 如何在 Java 的 for 循环中获取不同数据类型的多个用户输入? - How do you take multiple user inputs of different data types within a for loop in Java? Java - 将多个用户输入添加到arraylist中 - Java - Adding multiple user inputs into arraylist 如何将所有用户输入存储在 do while 循环中,并在 Java 程序中稍后调用它们进行打印? - How to store all the user inputs in do while loop, and call them to print later in Java program? 您如何从 Jtextfield 中的用户那里获得 2 个输入? - How do you obtain 2 inputs from a user in Jtextfield? 如何检索ArrayList(Java)的索引? - How to retrieve index of ArrayList (Java)? Java 和 Mysql 使用 Arraylist 更新所有记录 - Java and Mysql Update all Records using Arraylist 如何在Java中没有文本字段的情况下接受键输入 - How do you take in key inputs without a text field in Java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM