Advertisement
Guest User

Untitled

a guest
Dec 6th, 2017
704
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.25 KB | None | 0 0
  1. // Felix Vejdegren || Jack Hällström || Douglas Hammarstam
  2. // feve5814@student.su.se || jaha4972@student.su.se || doha6991@student.su.se
  3.  
  4. import java.util.Scanner;
  5. import java.util.ArrayList;
  6.  
  7. public class HundRegister {
  8.  
  9. private Scanner scan = new Scanner(System.in);
  10. private ArrayList<Dog> dogArr = new ArrayList<>();
  11.  
  12. private void run(){
  13. boolean cont; // TÄNK PÅ BÄTTRE NAMN
  14. do {
  15. String command = readCommand();
  16. cont = handleCommand(command);
  17. }while (cont);
  18. }
  19.  
  20. private String readCommand(){ //GÖRA HELA DENNA TILL EGEN KLASS?
  21. System.out.println("Vad vill du göra?");
  22. System.out.println("1. Registrera en ny hund");
  23. System.out.println("2. Öka ålder på en hund redan i systemet");
  24. System.out.println("3. Skriva ut en lista på befintliga hundar i systemet");
  25. System.out.println("4. Ta bort en hund ur systemet");
  26. System.out.println("5. Avsluta programmet");
  27. System.out.print("Skriv ditt val här: ");
  28. String in = scan.nextLine().toLowerCase();
  29. return in;
  30. }
  31.  
  32. private boolean handleCommand(String command){
  33. switch (command) {
  34. case "1":
  35. registerDog();
  36. break;
  37. case "register new dog":
  38. registerDog();
  39. break;
  40. case "2":
  41. increaseAge();
  42. break;
  43. case "increase age":
  44. increaseAge();
  45. break;
  46. case "3":
  47. listDog();
  48. break;
  49. case "list dogs":
  50. listDog();
  51. break;
  52. case "4":
  53. deleteDog();
  54. break;
  55. case "remove dog":
  56. deleteDog();
  57. break;
  58. case "5":
  59. System.out.println("Programmet avslutas, hej då!");
  60. return false;
  61. case "exit":
  62. System.out.println("Programmet avslutas, hej då!");
  63. return false;
  64. default:
  65. System.out.println("error Felaktigt kommando, vänligen välj igen");
  66. }
  67. return true;
  68.  
  69. }
  70.  
  71. private void registerDog(){
  72.  
  73. System.out.print("Vänligen ange namn på hunden: ");
  74. String name = scan.nextLine().toLowerCase();
  75. if (name.trim().isEmpty()){
  76. name = "A. Nonym";
  77. }
  78.  
  79. System.out.print("Ange vad " + name + " är för ras: ");
  80. String race = scan.nextLine().toLowerCase();
  81.  
  82. System.out.print("Hur gammal är " + name + " angett i år: ");
  83. double age = scan.nextDouble();
  84. scan.nextLine(); // ta bort radbryt
  85.  
  86. System.out.print("Och slutligen, hur mycket väger " + name + " angett i kg: ");
  87. double weight = scan.nextDouble();
  88. scan.nextLine(); // ta bort radbryt
  89.  
  90. dogArr.add(new Dog(name, race, age, weight));
  91.  
  92. System.out.println(dogArr.get(dogArr.size()-1) + " skapad");
  93.  
  94. }
  95.  
  96. private void increaseAge() {
  97.  
  98. System.out.print("Vad heter hunden som ska åldras: ");
  99. String increaseAgeDog = scan.nextLine().toLowerCase();
  100. boolean increaseAgeDogExist = false;
  101.  
  102. for (Dog d : dogArr)
  103. if (increaseAgeDog.equals(d.getName())){
  104. increaseAgeDogExist = true;
  105. d.increaseAge();
  106. }if (increaseAgeDogExist){
  107. System.out.println("Hunden med namn " + increaseAgeDog + " har fått sin ålder ökat med 1 år");
  108. }else{
  109. System.out.println("error Det finns ingen hund med namn " + increaseAgeDog + " i systemet");
  110. }
  111. }
  112.  
  113. private void listDog(){
  114. System.out.print("Vad är den minsta svanslängden som du vill ha en lista på: ");
  115. double dogsToBeListed = scan.nextDouble();
  116. scan.nextLine(); // Ta bort radbryt
  117. boolean listDogExist = false;
  118.  
  119. for (Dog d : dogArr)
  120. if (dogsToBeListed <= d.tail()) {
  121. listDogExist = true;
  122. }
  123.  
  124. if(listDogExist) {
  125. for (Dog d : dogArr)
  126. if (dogsToBeListed <= d.tail())
  127. System.out.println(d);
  128. }else{
  129. System.out.println("Inga hundar med den svanslängden hittades");
  130. }
  131. }
  132.  
  133. private void deleteDog() {
  134. System.out.print("Vad heter hunden som ska tas bort ur registret: ");
  135. String dogToBeDeleted = scan.nextLine().toLowerCase();
  136. boolean deleteDogExist = false;
  137.  
  138. for (Dog d : dogArr) {
  139. if (dogToBeDeleted.equals(d.getName())) {
  140. dogArr.remove(d);
  141. deleteDogExist = true;
  142. break;
  143. }
  144. }
  145. if (deleteDogExist) {
  146. System.out.println("Hunden med namnet " + dogToBeDeleted + " har tagits bort ur registret");
  147.  
  148. } else {
  149. System.out.println("error Hunden " + dogToBeDeleted + " finns inte i systemet");
  150. }
  151.  
  152. }
  153.  
  154.  
  155. public static void main (String [] args){
  156. new HundRegister().run();
  157. }
  158.  
  159.  
  160. }
  161.  
  162.  
  163.  
  164. DOG KLASS
  165.  
  166. // Felix Vejdegren || Jack Hällström || Douglas Hammarstam
  167. // feve5814@student.su.se || jaha4972@student.su.se || doha6991@student.su.se
  168.  
  169. public class Dog {
  170.  
  171. private String name;
  172. private String race;
  173. private double age;
  174. private double weight;
  175.  
  176. public Dog(String name, String race, double age, double weight){
  177. this.name = name;
  178. this.race = race;
  179. this.age = age;
  180. this.weight = weight;
  181. }
  182.  
  183.  
  184. public String getName() {
  185. return name;
  186. }
  187.  
  188. public String getRace() {
  189. return race;
  190. }
  191.  
  192.  
  193. public void increaseAge(){
  194. age += 1;
  195. }
  196.  
  197. public double tail(){
  198.  
  199. switch (getRace()){
  200. case "tax":
  201. return 3.7;
  202. case "dachshund":
  203. return 3.7;
  204. default:
  205. return (age*weight) / 10;
  206. }
  207. }
  208.  
  209.  
  210. public String toString(){
  211. return String.format(name + " " + race + " " + age + " år " + weight + " kg" + " svans = " + tail());
  212. }
  213.  
  214. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement