繁体   English   中英

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

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

我正在尝试检索arraylist包含的每条记录。 我有一个名为ContactList的类,它是另一个名为BusinessContacts的类的超类。 我的第一个任务是仅打印联系人的名字和姓氏。 第二项任务是打印与其ID号相关的联系人的详细信息。 ContactList类具有所有实例变量以及set / get方法和toString()方法。 BusinessContact类仅包含两个实例变量,需要将它们附加到ContactList类。 如何解决呢? 代码如下:

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" ;
   }
}

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";
    }
}

这是我的主要方法类:

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

如果要获取基于ID的值,请尝试创建一种对ArrayList的内容进行迭代的方法,以找到ArrayList匹配的方法:

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

如果找不到任何内容,则返回null,否则将返回列表中的第一个结果。

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM