Advertisement
Guest User

Untitled

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