Hi Leute,
ich bin ganz neu eingestiegen in Java und arbeite gerade an einem kleinen "Fragebogen" um mich mit der Verschachtelung von if else auseinander zu setzen.
Ich hab jetzt ein kleines Problem, dass sich auch nach Tagen nicht so richtig lösen lässt. Vielleicht könntet ihr mir da helfen ?
Also der Teil "m Anfang" bis zu "m Ende" funktioniert so, wie er funktionieren soll. Aber bei dem ersten Teil "w Anfang" kommt nach der Geschlechtsabfrage, die Altersabfrage, und da kommt automatisch das letzte "else" mit. Ich versteh nicht ganz warum, ich habe den ersten Teil auch mit dem ganzen Code vom "m Anfang" übernommen, und auch da kommt das letzte else mit (was beim gewöhnlichen "m Anfang" nicht der Fall ist....
Ich wäre für jeden Vorschlag dankbar...!
LG,
Fallout
ich bin ganz neu eingestiegen in Java und arbeite gerade an einem kleinen "Fragebogen" um mich mit der Verschachtelung von if else auseinander zu setzen.
Ich hab jetzt ein kleines Problem, dass sich auch nach Tagen nicht so richtig lösen lässt. Vielleicht könntet ihr mir da helfen ?
Code:
import java.util.*;
public class WoM4
{
public static void main(String[] args)
{
System.out.println("Meine Damen und Herren!");
System.out.println("Hiermit werden wir herausfinden");
System.out.println("was wir zusamme machen können!");
System.out.println("Dafür werden Sie nur einige wenige Eingaben machen müssen!");
System.out.println("Bitte antworten Sie so ehrlich wie möglich, oder garnicht.");
System.out.println("Wir wollen schließlich keine Zeit verschwenden!");
System.out.println("Erste Frage, sind sie m oder w?");
Scanner scan = new Scanner(System.in);
String antwort;
antwort = scan.nextLine();
if (antwort.equals("w") || antwort.equals("weiblich") || antwort.equals("W") || antwort.equals("Weiblich") || antwort.equals("Ich bin weiblich")) //GESCHLECHT
{ //if w Anfang
{ System.out.println("Herzlichen Glückwunsch, sie sind weiblichen Geschlechts!");
System.out.println("Verraten sie mir, wie alt Sie sind?");
}
int zahl;
zahl = scan.nextInt();
if (zahl<18)
{ System.out.println("Leider bist du zu jung für mich, aber wenn wir");
System.out.println( + (18-zahl) + " Jahre warten, dann können wir, du weißt schon was! Zwinker Zwinker!");
}
else if (zahl>=18 && zahl<=39)
{ System.out.println("Perfekt! Also ersteinmal machen wir schlabber schlabber und dann knackiknacki! Zwinker!");
}
else if (zahl >= 40 && zahl <=69 )
{ System.out.println("Tut mir leid. Ich bin Ihnen eh zu unreif. Aber Sie können mir gerne die Nummer");
System.out.println("ihrer Tochter oder ihrer bis 39-Jährigen Schwester geben!");
}
else if (zahl >=70)
{ System.out.println("Ich freue mich mit Ihnen Kekse zu backen!");
}
} //if w Ende
if (antwort.equals("m") || antwort.equals("männlich") || antwort.equals("M") || antwort.equals("Männlich") || antwort.equals("Ich bin männlich")) //GESCHLECHT_1.1
{ //if m Anfang
{ System.out.println("Sehr gut! Sie sind männlichen Geschlechts.");
System.out.println("Verraten Sie mir wie alt Sie sind?");
}
int zahl;
zahl = scan.nextInt();
if (zahl<18)
{ System.out.println("Schade! Du bist zu jung. Aber wenn du");
System.out.println(+(18-zahl)+" Jahre wartest, können wir gerne ein Bierchen trinken gehen!");
}
else if (zahl>=18 && zahl <=39)
{ System.out.println("Lass uns weiber abschleppen und ein Bierchen trinken gehen!");
}
else if (zahl >=40 && zahl <=69)
{ System.out.println("Ich wäre sehr geehrt, wenn Sie mir beizeiten ein wenig Ihrer Frauen-Aufreiss-Techniken beibringen würden! Auf ein Getränk Ihrer Wahl.");
}
else if (zahl >=70)
{ System.out.println("Ich wäre geehrt mit Ihnen ein Cognac trinken zu dürfen!");
}
} //if m Ende
else
{ System.out.println("Entweder haben Sie sich vertippt, oder sie leiden an einer Geistesstörung.");
System.out.println("Bei ersteresm, starten Sie einfach den Test neu.");
System.out.println("Sollte letzteres der Fall sein, suchen Sie bitte einen Psychologen auf.");
}
}
}
Also der Teil "m Anfang" bis zu "m Ende" funktioniert so, wie er funktionieren soll. Aber bei dem ersten Teil "w Anfang" kommt nach der Geschlechtsabfrage, die Altersabfrage, und da kommt automatisch das letzte "else" mit. Ich versteh nicht ganz warum, ich habe den ersten Teil auch mit dem ganzen Code vom "m Anfang" übernommen, und auch da kommt das letzte else mit (was beim gewöhnlichen "m Anfang" nicht der Fall ist....
Ich wäre für jeden Vorschlag dankbar...!
LG,
Fallout