Guest User

Untitled

a guest
Oct 7th, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.77 KB | None | 0 0
  1. package com.company;
  2. import java.sql.SQLOutput;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.ArrayList;
  6.  
  7. class Contact {
  8. private String name;
  9. private String surname;
  10. private String number;
  11.  
  12. public String getNumber() {
  13. return number;
  14. }
  15. public void setNumber(String number) {
  16. this.number = number;
  17. }
  18.  
  19. private String validateNumber(String number) {
  20. if (number.matches("^[+]?[(]?\\w[)]?[\\s-]?[(]?\\w{2,}[)]?")) {
  21. return number;
  22. } else {
  23. System.out.println("Wrong number Format!");
  24. return "[no number]";
  25. }
  26. }
  27. public void hasNumber() {
  28. if(number.isEmpty()) {
  29. this.number = "";
  30. }
  31. }
  32. public String getName() {
  33. return name;
  34. }
  35.  
  36. public void setName(String name) {
  37. this.name = name;
  38. }
  39.  
  40. public String getSurname() {
  41. return surname;
  42. }
  43.  
  44. public void setSurname(String surname) {
  45. this.surname = surname;
  46. }
  47.  
  48. Contact(String name, String surname, String number) {
  49. this.name = name;
  50. this.surname = surname;
  51. this.number = validateNumber(number);
  52. }
  53.  
  54. }
  55.  
  56. public class Main {
  57. public static Main instance;
  58. public List<Contact> contacts;
  59. Scanner scanner;
  60. Integer record;
  61. String field;
  62. String option;
  63.  
  64. public static void main(String[] args) {
  65.  
  66. instance = new Main();
  67. instance.init();
  68. instance.run();
  69.  
  70. }
  71. private void init() {
  72. contacts = new ArrayList<>();
  73. scanner = new Scanner(System.in);
  74. }
  75. private void run() {
  76.  
  77. System.out.println("Enter action (add, remove, edit, count, list, exit):");
  78.  
  79. option = scanner.nextLine();
  80.  
  81. switch (option) {
  82. case "add":
  83. addContact();
  84. break;
  85. case "remove":
  86. removeContact();
  87. break;
  88. case "edit":
  89. editContacts();
  90. break;
  91. case "count":
  92. countContacts();
  93. break;
  94. case "list":
  95. listContacts();
  96. break;
  97. case "exit":
  98. System.exit(0);
  99. break;
  100. default:
  101. System.out.println("Error");
  102. }
  103.  
  104. }
  105.  
  106. private void addContact() {
  107. System.out.println("Name:");
  108. String name = scanner.next();
  109. System.out.println("Surname:");
  110. String surname = scanner.next();
  111. System.out.println("phone number:");
  112. String number = scanner.next();
  113. contacts.add(new Contact(name, surname, number));
  114. System.out.println("The record added.");
  115. instance.run();
  116. }
  117. private void removeContact() {
  118. if (contacts.isEmpty()) {
  119. System.out.println("No records to remove!");
  120. instance.run();
  121. } else {
  122. for (Contact current : contacts) {
  123. System.out.println(current);
  124. }
  125. System.out.println("Select a record:");
  126. record = scanner.nextInt();
  127. contacts.remove(record);
  128. System.out.println("The record removed!");
  129. instance.run();
  130. }
  131. }
  132. private void editContacts() {
  133. if (contacts.isEmpty()) {
  134. System.out.println("No records to edit!");
  135. instance.run();
  136. } else {
  137. System.out.println("Select a record:");
  138. record = scanner.nextInt();
  139. System.out.println("Select a field (name, surname, number):");
  140.  
  141. field = scanner.nextLine();
  142.  
  143. if (field.equals("name")) {
  144. String name = scanner.nextLine();
  145. contacts.get(record).setName(name);
  146. System.out.println("The record updated!");
  147. } else if (field.equals("surname")) {
  148. String surname = scanner.next();
  149. contacts.get(record).setSurname(surname);
  150. System.out.println("The record updated!");
  151. } else if (field.equals("number")) {
  152. String number = scanner.next();
  153. contacts.get(record).setNumber(number);
  154. System.out.println("The record updated!");
  155. } else {
  156. System.out.println();
  157. }
  158.  
  159. instance.run();
  160. }
  161. }
  162.  
  163. private void countContacts(){
  164. System.out.println("The PhoneBook has " + contacts.size() + " records.");
  165. instance.run();
  166. }
  167.  
  168. private void listContacts() {
  169. for(Contact current : contacts) {
  170. System.out.println(current);
  171. }
  172. instance.run();
  173. }
  174.  
  175. }
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
Advertisement
Add Comment
Please, Sign In to add comment