Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.sql.SQLOutput;
- import java.util.List;
- import java.util.Scanner;
- import java.util.ArrayList;
- class Contact {
- private String name;
- private String surname;
- private String number;
- public String getNumber() {
- return number;
- }
- public void setNumber(String number) {
- this.number = number;
- }
- private String validateNumber(String number) {
- if (number.matches("^[+]?[(]?\\w[)]?[\\s-]?[(]?\\w{2,}[)]?")) {
- return number;
- } else {
- System.out.println("Wrong number Format!");
- return "[no number]";
- }
- }
- public void hasNumber() {
- if(number.isEmpty()) {
- this.number = "";
- }
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getSurname() {
- return surname;
- }
- public void setSurname(String surname) {
- this.surname = surname;
- }
- Contact(String name, String surname, String number) {
- this.name = name;
- this.surname = surname;
- this.number = validateNumber(number);
- }
- }
- public class Main {
- public static Main instance;
- public List<Contact> contacts;
- Scanner scanner;
- Integer record;
- String field;
- String option;
- public static void main(String[] args) {
- instance = new Main();
- instance.init();
- instance.run();
- }
- private void init() {
- contacts = new ArrayList<>();
- scanner = new Scanner(System.in);
- }
- private void run() {
- System.out.println("Enter action (add, remove, edit, count, list, exit):");
- option = scanner.nextLine();
- switch (option) {
- case "add":
- addContact();
- break;
- case "remove":
- removeContact();
- break;
- case "edit":
- editContacts();
- break;
- case "count":
- countContacts();
- break;
- case "list":
- listContacts();
- break;
- case "exit":
- System.exit(0);
- break;
- default:
- System.out.println("Error");
- }
- }
- private void addContact() {
- System.out.println("Name:");
- String name = scanner.next();
- System.out.println("Surname:");
- String surname = scanner.next();
- System.out.println("phone number:");
- String number = scanner.next();
- contacts.add(new Contact(name, surname, number));
- System.out.println("The record added.");
- instance.run();
- }
- private void removeContact() {
- if (contacts.isEmpty()) {
- System.out.println("No records to remove!");
- instance.run();
- } else {
- for (Contact current : contacts) {
- System.out.println(current);
- }
- System.out.println("Select a record:");
- record = scanner.nextInt();
- contacts.remove(record);
- System.out.println("The record removed!");
- instance.run();
- }
- }
- private void editContacts() {
- if (contacts.isEmpty()) {
- System.out.println("No records to edit!");
- instance.run();
- } else {
- System.out.println("Select a record:");
- record = scanner.nextInt();
- System.out.println("Select a field (name, surname, number):");
- field = scanner.nextLine();
- if (field.equals("name")) {
- String name = scanner.nextLine();
- contacts.get(record).setName(name);
- System.out.println("The record updated!");
- } else if (field.equals("surname")) {
- String surname = scanner.next();
- contacts.get(record).setSurname(surname);
- System.out.println("The record updated!");
- } else if (field.equals("number")) {
- String number = scanner.next();
- contacts.get(record).setNumber(number);
- System.out.println("The record updated!");
- } else {
- System.out.println();
- }
- instance.run();
- }
- }
- private void countContacts(){
- System.out.println("The PhoneBook has " + contacts.size() + " records.");
- instance.run();
- }
- private void listContacts() {
- for(Contact current : contacts) {
- System.out.println(current);
- }
- instance.run();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment