Как просмотреть все записи ArrayList и удалить определенные? - PullRequest
2 голосов
/ 05 мая 2019

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

Класс клиента:

import java.util.ArrayList;
import java.util.Scanner;

public class customer {


    //create variables
    private int Id;
    private String firstName;
    private String lastName;


    public customer() {

    }


    //setters and getters
    public int getId() {
        return Id;
    }

    public void setId(int id) {
        Id = id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) throws InputValidationException {
        if (firstName.matches("\\p{Upper}(\\p{Lower}){2,20}")) {
        } else {
            throw new InputValidationException();
        }
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) throws InputValidationException {
        if (lastName.matches("\\p{Upper}(\\p{Lower}){2,20}")) {
        } else {
            throw new InputValidationException();
        }
        this.lastName = lastName;
    }



    //constructor
    public customer(int Id, String firstName, String lastName) {
        this.Id = Id;
        this.firstName = firstName;
        this.lastName = lastName;
       }

    //get user input
    public void customerInfo() {
        Scanner input = new Scanner(System.in);

        {
            while (true) {
                //ask user for input and get input
                System.out.println("Enter id (press 'q' to quit): ");
                String temp = input.nextLine();
                if (temp.equals("q")) break;

                int id = Integer.parseInt(temp);

                System.out.println("Enter first name:");
                String firstName = input.nextLine();

                System.out.println("Enter last name:");
                String lastName = input.nextLine();


                //add customer
                customers.add(new customer(id, firstName, lastName));

            }

        }
    }
    public  void displayCustomers() {
        System.out.println("Customer List : ");

        }
    }

Класс клиентов:


import java.util.ArrayList;
//creates an array of the customers

public final class customers {
    public static ArrayList<customer> customers;

        public customers() {
            customers = new ArrayList<customer>();
        }


    public static void add(customer customer) {
    }

}

Основной класс:

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

        customer customerInfoObject = new customer();
        customerInfoObject.customerInfo();

        customer displayCustomersObject = new customer();
        displayCustomersObject.displayCustomers();

    }
}

1 Ответ

1 голос
/ 05 мая 2019

Чтобы распечатать информацию о всех клиентах списка, используйте цикл.Пользователь может удалить клиента разными способами.Вы можете получить целое число от пользователя и удалить клиента по указанному индексу.Вы также можете получить имя клиента и сравнить его в цикле с именами клиентов и удалить имя с полученным именем.

Кроме того, не используйте пустые скобки.Просто поместите ! перед условием if, чтобы инвертировать его

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