Advertisement
Guest User

Untitled

a guest
Dec 6th, 2017
408
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 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.     public void increaseAge(){
  193.         age += 1;
  194.     }
  195.  
  196.     public double tail(){
  197.  
  198.         switch (getRace()){
  199.             case "tax":
  200.                 return 3.7;
  201.             case "dachshund":
  202.                 return 3.7;
  203.             default:
  204.                 return (age*weight) / 10;
  205.         }
  206.     }
  207.  
  208.  
  209.     public String toString(){
  210.         return String.format(name + " " + race + " " + age + " år " + weight + " kg" + " svans = " + tail());
  211.     }
  212.  
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement