Können if Anweisungen aufeinander aufbauen?

Derneuling1

Mitglied
Hallo,
ich bin noch Anfänger und weiß noch nicht so viel über Java. Ich habe folgendes Programm geschrieben:
Code:
    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Ist heute Silvester?");
        System.out.println("Wenn Ja dann mit 1 antworten, wenn Nein dann mit 2 antworten.!");


                String p = br.readLine();
                if (p.equals ("1")) {
                    System.out.println("Glückwunsch Sie dürfen feiern!");
                }
                else if (p.equals ("2")) {
                    System.out.println("Zünden nur Erlaubt, wenn Genehmigung vorhanden ist!");
                }
                
                else {
                    System.out.println("Sie haben sich nicht an die Anleitung gehalten, Programm bitte neu starten!");
                }
        
    }

So nun zu meiner Frage. Ich möchte gerne, dass das Programm nach "Glückwunsch Sie können feiern" weiterlauft. Ich möchte nämlich Fragen, welche Feuerwerksklassen man hat. Es gibt insgesamt 5 Klassen, wovon man für die 2 und 4 Klasse eine Sondergenehmigung bräuchte. Also gekürzt, eine if Anweisung, die aufgebaut wird durch das Ergebnis einer anderen if Anweisung. Ist das möglich?
 

mihe7

Top Contributor
Ja, Du kannst grundsätzlich Variablen definieren, die den Fall festhalten und dann später darauf zurückgreifen.

Schemenhaft und arg übertrieben:
Java:
p = frageNachFeuerwerksklasse();

boolean benoetigtSondererlaubnis = false;
if (p.equals("2") || p.equals("4")) {
    benoetigtSondererlaubnis = true;
}

if (benoetigtSondererlaubnis) {
    p = frageNachSondererlaubnis();
    boolean hatSondererlaubnis = false;
    if (p.equals("j")) {
        hatSondererlaubnis = true;
    }

    if (!hatSondererlaubnis) {
        System.out.println("Du benötigst eine Sondererlaubnis, hast aber keine");
    }
}
Man kann das kürzen zu
Java:
p = frageNachFeuerwerksklasse();

boolean benoetigtSondererlaubnis = p.equals("2") || p.equals("4");

if (benoetigtSondererlaubnis) {
    p = frageNachSondererlaubnis();
    boolean hatSondererlaubnis = p.equals("j");

    if (!hatSondererlaubnis) {
        System.out.println("Du benötigst eine Sondererlaubnis, hast aber keine");
    } else {
        System.out.println("Sehr schön, dann lass uns das Zeug abfackeln.");
}
Da Du noch am Anfang stehst, an dieser Stelle nur der Hinweis, dass man so etwas besser mit Objekten regelt und die Eingabe von der Logik trennt. Aber: step by step - erstmal die Syntax verinnerlichen.

EDIT: ein paar Flüchtigkeitsfehler im Code ausgebessert.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
C Methoden können nicht auf Instanzvariable der Klasse zugreifen Java Basics - Anfänger-Themen 3
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
Elaurin Erste Schritte effektiv lernen mit Java umgehen zu können? Java Basics - Anfänger-Themen 5
N Sicherheitsnummer erstellen und verändern können Java Basics - Anfänger-Themen 1
J Hinzufügen eines Objekts in eine Liste, um später dann nochmal auf das Objekt zugreifen zu können Java Basics - Anfänger-Themen 8
JokerBlacky Klassen Klasse Queue Klasse mit Attributen anhängen und auslesen können Java Basics - Anfänger-Themen 4
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
H Methoden können nicht verwendet werden Java Basics - Anfänger-Themen 10
R Eine Arrayliste in XML abspeichern und laden können Java Basics - Anfänger-Themen 7
D Methoden Wie können Klassen auf Klassenfremde Objekte zugreifen? Java Basics - Anfänger-Themen 7
W Wie kann man diesen Code in einen Code umwandeln, der folgendes können sollte? Java Basics - Anfänger-Themen 1
S Methoden Linked List Methoden können nicht aufgerufen werden Java Basics - Anfänger-Themen 1
J Interface Bubblesort soll Arrays beliebiger Referenztypen sortieren können. Java Basics - Anfänger-Themen 5
B Anwender soll mathematische Funktion eingeben können, Einfachster Fnktionsplotter Java Basics - Anfänger-Themen 4
J Können mehere Threads parallel eine Datei lesen? Java Basics - Anfänger-Themen 4
X Muss man Java können um Jython nutzen zu können? Java Basics - Anfänger-Themen 14
K mehrer applets sollen sich gegenseitig verständigen können Java Basics - Anfänger-Themen 3
F Können Klasse auch Werte liefern? Java Basics - Anfänger-Themen 3
2 Alle Werte die mit n Würfeln mit m Seiten geworfen werden können in ein n Dimensionales Array Java Basics - Anfänger-Themen 15
E Statische Member können nicht vererbt werden? Java Basics - Anfänger-Themen 10
B OOP Objekt klonen (Grundzustand), um in Editor "Abbrechen" zu können Java Basics - Anfänger-Themen 4
K Txt statt in TextArea in JTable einlesen und bearbeiten können Java Basics - Anfänger-Themen 4
G ein programm nicht mehrmals starten können Java Basics - Anfänger-Themen 6
R Klassenattribut nur 1 mal setzen können Java Basics - Anfänger-Themen 7
M Warum können innere Klassen keine static-members haben? Java Basics - Anfänger-Themen 2
T können überschriebene methoden andere zugruffsrechte besitze Java Basics - Anfänger-Themen 2
R Buttons können sich bewegen und JButtons nicht? Java Basics - Anfänger-Themen 5
frau-u Können Interfaces von Klassen erben? Java Basics - Anfänger-Themen 3
S Sind unten stehende Anweisungen kompilierbar? Java Basics - Anfänger-Themen 7
M Java Anweisungen Java Basics - Anfänger-Themen 4
S Anweisungen verstehen System.out.print/println Java Basics - Anfänger-Themen 2
H ERGÄNZUNGSFRAGE: Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 2
P Java Verketten von Stream - Bedeutung der Anweisungen? Java Basics - Anfänger-Themen 3
J 2 "while"-Anweisungen in einer do-Schleife? Java Basics - Anfänger-Themen 4
V Einem JButton anweisungen geben Java Basics - Anfänger-Themen 4
S Erste Schritte Verkettung von Anweisungen Java Basics - Anfänger-Themen 4
T Java verschiedene Anweisungen Java Basics - Anfänger-Themen 23
R else if anweisungen Java Basics - Anfänger-Themen 2
O Erste Schritte Eingabe anweisungen eliminieren Java Basics - Anfänger-Themen 3
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
J BlueJ und import-Anweisungen, wie geht das? Java Basics - Anfänger-Themen 4
A instanceof-if-else-Anweisungen eleganter lösen Java Basics - Anfänger-Themen 5
? Klassen Verständnisprobleme mit Import Anweisungen Java Basics - Anfänger-Themen 6
L Frage zu If-Anweisungen Java Basics - Anfänger-Themen 3
OnDemand Package Anweisungen Java Basics - Anfänger-Themen 3
S Verständnisfrage zu Anweisungen und deren Wirkung Java Basics - Anfänger-Themen 7
S Anweisungen Ausdrücke Java Basics - Anfänger-Themen 7
B Anzahl if anweisungen nicht bekannt Java Basics - Anfänger-Themen 3
V Methoden Schleifeninvariante Assert Anweisungen Java Basics - Anfänger-Themen 6
P if Anweisungen komprimieren Java Basics - Anfänger-Themen 6
G JTextField() Anzeige - if-Anweisungen Java Basics - Anfänger-Themen 2
J verschiedene Anweisungen bei verschiedenen Zuständen Java Basics - Anfänger-Themen 9
R return Anweisungen und Array Elemente löschen Java Basics - Anfänger-Themen 6
C OOP if Anweisungen Java Basics - Anfänger-Themen 24
E If - Anweisungen Java Basics - Anfänger-Themen 4
E Verschachtelte If-Anweisungen - "else without if" Java Basics - Anfänger-Themen 4
G Exceptionfreie Anweisungen in try-catch-Blöcke, Java Basics - Anfänger-Themen 6
S Umsetzung von verschiedenen Anweisungen Java Basics - Anfänger-Themen 8
T Erstellen eines Steuerprogramms mittels if-anweisungen Java Basics - Anfänger-Themen 10
T Werden import Anweisungen nicht vererbt? Java Basics - Anfänger-Themen 3
M if-Anweisungen Java Basics - Anfänger-Themen 11
F Kann ein Problem bei Anweisungen nicht lösen Java Basics - Anfänger-Themen 4
J Klammersetzung bei if-else Anweisungen und Schleifen Java Basics - Anfänger-Themen 13
B variable deklaration und wert speichern in 2 anweisungen? Java Basics - Anfänger-Themen 20
T Import-Anweisungen Java Basics - Anfänger-Themen 10
D Anweisungen Java Basics - Anfänger-Themen 2
W OOP Zwei Objekte beziehen sich aufeinander (Zirkelbezug)? Java Basics - Anfänger-Themen 4
R Threads aufeinander warten lassen? Java Basics - Anfänger-Themen 10
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
S variablen aufeinander abstimmen Java Basics - Anfänger-Themen 6
F Klassen aufeinander beziehen Java Basics - Anfänger-Themen 6
J summe von aufeinander folgenden floats eines arrays Java Basics - Anfänger-Themen 10
C 2 StringVariablen aufeinander verweisen! Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben