Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.09 KB | None | 0 0
  1. import se.lth.cs.pt.io.*;
  2. import java.util.*;
  3.  
  4. class Person {
  5.  
  6. private String name;
  7. private String number;
  8.  
  9. public Person(String name, String number){
  10. this.name = name;
  11. this.number = number;
  12. }
  13. public String getName(){
  14. return name;
  15. }
  16. public String toString(){
  17. return name + " " + number;
  18. }
  19. public String getNumber(){
  20. return number;
  21. }
  22. }
  23.  
  24. class Register {
  25.  
  26. private List<Person> phonebook = new ArrayList<Person>();
  27.  
  28. public Register(){
  29. }
  30. public boolean insert(String name, String nbr){
  31. if(containsName(name)){
  32. return false;
  33. }
  34. Person person = new Person(name,nbr);
  35. phonebook.add(place(name), person);
  36. return true;
  37. }
  38. private int place(String name){
  39. int count = 0;
  40. for(Person person : phonebook){
  41. if(person.getName().compareTo(name)>=0){
  42. return count;
  43. }
  44. count++;
  45. }
  46. return count;
  47. }
  48.  
  49. public boolean remove(String name){
  50. if(containsName(name)){
  51. rmName(name);
  52. return true;
  53.  
  54. }
  55. return false;
  56. }
  57.  
  58. private int rmName(String name){
  59. int count = 0;
  60. for(Person person : phonebook){
  61. if(person.getName().compareTo(name)==0){
  62. phonebook.remove(count);
  63. break;
  64. }
  65. count++;
  66. }
  67. return count;
  68. }
  69.  
  70. private boolean containsName(String name){
  71. for(Person person : phonebook){
  72. if(name.equals(person.getName())){
  73. return true;
  74. }
  75. }
  76. return false;
  77. }
  78.  
  79. public List<Person> findByPartOfName(String partOfName){
  80. List<Person> selected = new ArrayList<Person>();
  81. for(Person person : phonebook){
  82. if(person.getName().indexOf(partOfName)>=0){
  83. selected.add(person);
  84. }
  85. }
  86. return selected;
  87. }
  88. public List<Person> findByNumber(String number){
  89. List<Person> selected = new ArrayList<Person>();
  90. for(Person person : phonebook){
  91. if(person.getNumber().indexOf(number)==0){
  92. selected.add(person);
  93. }
  94. }
  95. return selected;
  96. }
  97. public List<Person> findAll(){
  98. List<Person> copy = new ArrayList<Person>();
  99. for (Person person : phonebook){
  100. copy.add(person);
  101. System.out.println(person);
  102. System.out.println("lol");
  103. }
  104. return copy;
  105. }
  106. }
  107.  
  108. class PhoneBook {
  109.  
  110. public static void main(String[] args) {
  111. new PhoneBook().run();
  112. }
  113. Register register = new Register();
  114.  
  115. void run() {
  116. for(;;){
  117. meny();
  118. }
  119. }
  120. void meny(){
  121. switch(choice()){
  122. case(1):
  123. System.out.println();
  124. if(register.insert(Keyboard.nextLine("Ange namn: "),Keyboard.nextLine("Ange nummer: "))){
  125. System.out.print("Gick bra");
  126. } else {
  127. System.out.println("Gick mindre bra");
  128. }
  129. break;
  130. case(2):
  131. System.out.println();
  132. System.out.println();
  133. String name = Keyboard.nextLine("Vem vill du ta bort: ");
  134. if(register.remove(name)){
  135. System.out.println("Ok " + name + " togs bort!");
  136. } else{
  137. System.out.println(name + " fanns inte");
  138. }
  139. break;
  140. case(3):
  141. System.out.println();
  142. System.out.println();
  143. List<Person> selected = register.findByPartOfName(Keyboard.nextLine("ange del av namn: "));
  144. if(selected.size()!=0){
  145. for(Person person : selected){
  146. System.out.printf("* %10s %s\n",person.getName(), person.getNumber());
  147. }
  148. } else {
  149. System.out.print("Där fanns ingen med den delen i namnet");
  150. }
  151. break;
  152. case(4):
  153. System.out.println();
  154. System.out.println();
  155. break;
  156. case(5):
  157. System.out.println();
  158. System.out.println();
  159. for(Person person : register.findAll()){
  160. System.out.println("lol");
  161. System.out.println(person.getName() + " " + person.getNumber());
  162. }
  163. break;
  164. case(0):
  165. System.exit(0);
  166. default:
  167. System.out.print("Felaktigt kommando");
  168. break;
  169. }
  170. System.out.println();
  171. System.out.println();
  172. }
  173. int choice(){
  174. System.out.printf("Vad vill du göra:\n1. Lägg till en ny person.\n2. Tag bort person\n3. Sök på del av namn.\n4. Se vem som har givet nummer.\n5. Skriv ut alla personer.\n0. Avsluta.\nAnge kommando (0-5): ");
  175. return Keyboard.nextInt();
  176. }
  177. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement