Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Felix Vejdegren || Jack Hällström || Douglas Hammarstam
- // feve5814@student.su.se || jaha4972@student.su.se || doha6991@student.su.se
- import java.util.Scanner;
- import java.util.ArrayList;
- public class HundRegister {
- private Scanner scan = new Scanner(System.in);
- private ArrayList<Dog> dogArr = new ArrayList<>();
- private void run(){
- boolean cont; // TÄNK PÅ BÄTTRE NAMN
- do {
- String command = readCommand();
- cont = handleCommand(command);
- }while (cont);
- }
- private String readCommand(){ //GÖRA HELA DENNA TILL EGEN KLASS?
- System.out.println("Vad vill du göra?");
- System.out.println("1. Registrera en ny hund");
- System.out.println("2. Öka ålder på en hund redan i systemet");
- System.out.println("3. Skriva ut en lista på befintliga hundar i systemet");
- System.out.println("4. Ta bort en hund ur systemet");
- System.out.println("5. Avsluta programmet");
- System.out.print("Skriv ditt val här: ");
- String in = scan.nextLine().toLowerCase();
- return in;
- }
- private boolean handleCommand(String command){
- switch (command) {
- case "1":
- registerDog();
- break;
- case "register new dog":
- registerDog();
- break;
- case "2":
- increaseAge();
- break;
- case "increase age":
- increaseAge();
- break;
- case "3":
- listDog();
- break;
- case "list dogs":
- listDog();
- break;
- case "4":
- deleteDog();
- break;
- case "remove dog":
- deleteDog();
- break;
- case "5":
- System.out.println("Programmet avslutas, hej då!");
- return false;
- case "exit":
- System.out.println("Programmet avslutas, hej då!");
- return false;
- default:
- System.out.println("error Felaktigt kommando, vänligen välj igen");
- }
- return true;
- }
- private void registerDog(){
- System.out.print("Vänligen ange namn på hunden: ");
- String name = scan.nextLine().toLowerCase();
- if (name.trim().isEmpty()){
- name = "A. Nonym";
- }
- System.out.print("Ange vad " + name + " är för ras: ");
- String race = scan.nextLine().toLowerCase();
- System.out.print("Hur gammal är " + name + " angett i år: ");
- double age = scan.nextDouble();
- scan.nextLine(); // ta bort radbryt
- System.out.print("Och slutligen, hur mycket väger " + name + " angett i kg: ");
- double weight = scan.nextDouble();
- scan.nextLine(); // ta bort radbryt
- dogArr.add(new Dog(name, race, age, weight));
- System.out.println(dogArr.get(dogArr.size()-1) + " skapad");
- }
- private void increaseAge() {
- System.out.print("Vad heter hunden som ska åldras: ");
- String increaseAgeDog = scan.nextLine().toLowerCase();
- boolean increaseAgeDogExist = false;
- for (Dog d : dogArr)
- if (increaseAgeDog.equals(d.getName())){
- increaseAgeDogExist = true;
- d.increaseAge();
- }if (increaseAgeDogExist){
- System.out.println("Hunden med namn " + increaseAgeDog + " har fått sin ålder ökat med 1 år");
- }else{
- System.out.println("error Det finns ingen hund med namn " + increaseAgeDog + " i systemet");
- }
- }
- private void listDog(){
- System.out.print("Vad är den minsta svanslängden som du vill ha en lista på: ");
- double dogsToBeListed = scan.nextDouble();
- scan.nextLine(); // Ta bort radbryt
- boolean listDogExist = false;
- for (Dog d : dogArr)
- if (dogsToBeListed <= d.tail()) {
- listDogExist = true;
- }
- if(listDogExist) {
- for (Dog d : dogArr)
- if (dogsToBeListed <= d.tail())
- System.out.println(d);
- }else{
- System.out.println("Inga hundar med den svanslängden hittades");
- }
- }
- private void deleteDog() {
- System.out.print("Vad heter hunden som ska tas bort ur registret: ");
- String dogToBeDeleted = scan.nextLine().toLowerCase();
- boolean deleteDogExist = false;
- for (Dog d : dogArr) {
- if (dogToBeDeleted.equals(d.getName())) {
- dogArr.remove(d);
- deleteDogExist = true;
- break;
- }
- }
- if (deleteDogExist) {
- System.out.println("Hunden med namnet " + dogToBeDeleted + " har tagits bort ur registret");
- } else {
- System.out.println("error Hunden " + dogToBeDeleted + " finns inte i systemet");
- }
- }
- public static void main (String [] args){
- new HundRegister().run();
- }
- }
- DOG KLASS
- // Felix Vejdegren || Jack Hällström || Douglas Hammarstam
- // feve5814@student.su.se || jaha4972@student.su.se || doha6991@student.su.se
- public class Dog {
- private String name;
- private String race;
- private double age;
- private double weight;
- public Dog(String name, String race, double age, double weight){
- this.name = name;
- this.race = race;
- this.age = age;
- this.weight = weight;
- }
- public String getName() {
- return name;
- }
- public String getRace() {
- return race;
- }
- public void increaseAge(){
- age += 1;
- }
- public double tail(){
- switch (getRace()){
- case "tax":
- return 3.7;
- case "dachshund":
- return 3.7;
- default:
- return (age*weight) / 10;
- }
- }
- public String toString(){
- return String.format(name + " " + race + " " + age + " år " + weight + " kg" + " svans = " + tail());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement