samedi 20 juin 2020

Java - Why does it immediately go to the else instead of waiting for the variable to be initialized? [duplicate]

Basically I'm working on this java project where you have an option menu to make an animal to put in a zoo, now basically at the last question asked where verzorger needs to be given a value, String verzorgerkeuze = sc.nextLine(); doesn't seem to wait for input value as it should, instead it immediately goes to the else statement (with System.out.println("Verzorger bestaat niet!");) and jumps back to the option menu in the loop.

if (inputnummer == 1) {
                // Optie om nieuw dier te maken
                Scanner sc = new Scanner(System.in);
                
                System.out.println("Bij welke dierentuin wilt u iets toevoegen?");
                System.out.println("---------------------");
                System.out.println("Ouwehands");
                System.out.println("Burgers Bush");
                String dierentuin = sc.nextLine();
                
                System.out.println("U maakt nu een nieuw dier.");
                System.out.println("Enter diersoort: ");
                String dierSoort = sc.nextLine(); //Read user input
                
                System.out.println("Enter diernaam: ");
                String dierNaam = sc.nextLine(); //Read user input
                
                System.out.println("Enter male/female: ");
                String gender = sc.nextLine(); //Read user input
        
                System.out.println("Enter age");
                int age = sc.nextInt(); //Read user input
                
                System.out.println("Welke verzorger hoort bij dit dier?");
                System.out.println("Voor Ouwehands: Eduard, Willem");
                System.out.println("Voor Burgers: Sasha");
                String verzorgerkeuze = sc.nextLine();
                
                if (dierentuin.contains("Ouwehands")) {
                    if (verzorgerkeuze.contains("Eduard")) {
                        zooList.get(0).putAnimalInZoo(new Animal(dierSoort,dierNaam, gender,age, Eduard));
                        System.out.println("OH" + zooList.get(0).animalList.size());
                        System.out.println(zooList.get(0).getDieren());
                    }
                    else if (verzorgerkeuze.contains("Willem")) {
                        zooList.get(0).putAnimalInZoo(new Animal(dierSoort,dierNaam, gender,age, Willem));
                        System.out.println("OH" + zooList.get(0).animalList.size());
                        System.out.println(zooList.get(0).getDieren());
                    }
                    else if (verzorgerkeuze.contains("Sasha")) {
                        System.out.println("Sasha hoort niet bij deze dierentuin!");
                    }
                    else {
                        System.out.println("Verzorger bestaat niet!");
                    }
                }
                else if (dierentuin.contains("Burgers Bush")) {
                    if (verzorgerkeuze.contains("Eduard")) {
                        System.out.println("Eduard hoort niet bij deze dierentuin!");
                    }
                    else if (verzorgerkeuze.contains("Willem")) {
                        System.out.println("Willem hoort niet bij deze dierentuin!");
                    }
                    else if (verzorgerkeuze.contains("Sasha")) {
                        zooList.get(0).putAnimalInZoo(new Animal(dierSoort,dierNaam, gender,age, Sasha));
                        System.out.println("OH" + zooList.get(0).animalList.size());
                        System.out.println(zooList.get(0).getDieren());
                    }
                    else {
                        System.out.println("Verzorger bestaat niet!");
                    }
                                }
                else {
                    System.out.println("Dierentuin niet herkend: -"+ dierentuin + "-");
                }

Aucun commentaire:

Enregistrer un commentaire