geschachtelte if-Schleife

U

ufo401

Mitglied
Hallo liebe Community,

ich bräuchte dringend Hilfe bei dieser Aufgabenstellung, da ich ein Java Anfänger und kurz vor dem Verzweifeln bin...
Ich weiss nicht wo genau das Problem liegt, aber wenn ich den Code ausführe bekomme ich keine Rückmeldung von meinem Programm.

Danke im Voraus!



Java:
import java.util.Scanner;

public class AgeApp {

    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        int a;
        a = scanner.nextInt();
        scanner.close();
        
        if (a < 0) {
            System.out.println("Ungültiges Alter");
        }
        else if (0 <= a && a < 13) {
            System.out.println("Kind");
        }
        else if (13 <= a && a < 18) {
            System.out.println("Teenager");
        }
        else if (a == 18 || a == 19) {
            System.out.println("Teenager und Erwachsener");
        }
        else {
            System.out.println("Erwachsener");
        }
 
U

ufo401

Mitglied
  1. Entwickeln Sie ein Programm, das zu einem eingegebenen Alter eine "Bewertung" (siehe unten) vornimmt.
    Eingabe (über Tastatur):
  2. • Alter a (Ganzzahl)
    Ausgabe:
    • a < 0 --> Ungültiges Alter
    • 0 <= a < 13 --> Kind
    • 13<=a<18-->Teenager
    • a in (18, 19) --> Teenager und Erwachsener
    • sonst --> Erwachsener
      Details und Hinweise:
    • Verwenden Sie den Klassennamen AgeApp.
    • Verwenden Sie eine kaskadierte if-Anweisung.
 
kneitzel

kneitzel

Top Contributor
Also erst einmal fehlen schließende Klammern, aber ich nehme mal an, dass dies ein Fehler beim kopieren ist.

Wenn du das Programm ausführst, bekommst du auch erst einmal keine Meldung. Es wird erst einmal erwartet, dass du eine Zahl eingibst und dann Return drückst.
 
U

ufo401

Mitglied
Also erst einmal fehlen schließende Klammern, aber ich nehme mal an, dass dies ein Fehler beim kopieren ist.

Wenn du das Programm ausführst, bekommst du auch erst einmal keine Meldung. Es wird erst einmal erwartet, dass du eine Zahl eingibst und dann Return drückst.
Ja das ist ja das Problem. Ich führe das Programm aus und es öffnet sich keine Konsole oder sonst etwas, es tut sich einfach nichts.
 
kneitzel

kneitzel

Top Contributor
Wie führst Du das Programm denn aus? Wenn Du es auf der Kommandozeile ausführst, dann hast Du direkt die Eingabeaufforderung doch schon.

Solltest Du eine IDE nutzen wie Eclipse oder IntelliJ, dann hast Du in der Regel ein kleines Fenster Console, das irgendwo innerhalb der IDE sichtbar ist. (Wenn Du als erstes eine Ausgabe machst, hast Du auch eine Chance, das einfacher zu finden....)
 
U

ufo401

Mitglied
Wie führst Du das Programm denn aus? Wenn Du es auf der Kommandozeile ausführst, dann hast Du direkt die Eingabeaufforderung doch schon.

Solltest Du eine IDE nutzen wie Eclipse oder IntelliJ, dann hast Du in der Regel ein kleines Fenster Console, das irgendwo innerhalb der IDE sichtbar ist. (Wenn Du als erstes eine Ausgabe machst, hast Du auch eine Chance, das einfacher zu finden....)
Also ich nutze Eclipse und eigentlich weiss ich schon wie man die Programme ausführt und wo sich die Konsole etc. befindet, nur bei diesem Code habe ich halt keine Rückmeldung bekommen und weiss daher nicht was das Problem ist. Deshalb bitte ich auch um Hilfe :)
 
kneitzel

kneitzel

Top Contributor
Ja aber es wird eine if-Abfrage verlangt..
Da wird dir nur vor Augen geführt, dass Du "if Schleife" gesagt hattest und if ist nun einmal keine Schleife ...

Und Rückmeldung bekommst Du nicht, Da Du ja nichts ausgibst. Daher bau doch - so wie es @JensXF vorgeschlagen hat, als erstes eine Ausgabe ein. Dann erkennst Du auch deutlich einfacher, wo die Eingabe erfolgen muss.
 
B

Barista

Top Contributor
Versuch es mal mit dem Weglassen der Konsolen-Eingabe und dann in einem zweiten Schritt mit Konsoleneingabe:
GeschachtelteIfSchleife oder VerzwickteForVerzweigung:
import java.util.Scanner;

public class GeschachtelteIfSchleife {

    public static void main(String[] args) {

        int a;

        a = -1;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 0;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 1;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 12;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 13;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 14;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 18;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 19;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 20;
        System.out.print( a + ": " );
        printBewerungAlter( a );

        a = 21;
        System.out.print( a + ": " );
        printBewerungAlter( a );
    }

    private static void printBewerungAlter(int a) {
        if (a < 0) {
            System.out.println("Ungültiges Alter");
        }
        else if (0 <= a && a < 13) {
            System.out.println("Kind");
        }
        else if (13 <= a && a < 18) {
            System.out.println("Teenager");
        }
        else if (a == 18 || a == 19) {
            System.out.println("Teenager und Erwachsener");
        }
        else {
            System.out.println("Erwachsener");
        }
    }

}
 
Blender3D

Blender3D

Top Contributor
Ich weiss nicht wo genau das Problem liegt, aber wenn ich den Code ausführe bekomme ich keine Rückmeldung von meinem Programm.
Da du das Problem bereits gelöst hast --> hier ein Hinweis wie man das üblicherweise übersichtlicher lösen kann.
Mir ist bewusst, dass deine Aufgabe eine kaskadierte if-Anweisung verlangt. Das ist also nicht die geforderte Lösung.
Dennoch ist eine kaskadierte if-Anweisung kein guter Weg, so eine Problemstellung zu lösen.
Eine bedingte Rückgabe ist übersichtlicher, dein Problem fehlende Klammer wäre dir so wahrscheinlich nicht passiert.
Außerdem genügt eine Ausgabe auf die Konsole, da die bedingte Rückgabe dir den passenden String zum jeweiligen Alter liefert.

Hier der Code zum Vergleichen: ;)
Bedingte Rückgabe:
public class TestAlter {
    static Scanner input = new Scanner(System.in);

    public static void main(String[] args) {
        int age = inputInt("Bitte geben Sie ihr Alter ein: ");
        System.out.println(getPersonCategoryStr(age));
    }

    public static String getPersonCategoryStr(int age) {
        if (age < 0)
            return "Ungueltiges Alter";
        if (age < 13)
            return "Kind";
        if (age < 18)
            return "Teenager";
        if (age < 20)
            return "Teenager und Erwachsener";
        return "Erwachsener";
    }

    private static int inputInt(String label) {
        int value = 0;
        boolean ok = false;
        do {
            System.out.print(label + ">");
            try {
                value = Integer.parseInt(input.next());
                ok = true;
            } catch (NumberFormatException e) {
                System.out.println("Bitte nur ganze Zahlen eingeben!");
            }
        } while (!ok);
        return value;
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P geschachtelte Schleife mit Strings Java Basics - Anfänger-Themen 2
P geschachtelte for schleife Java Basics - Anfänger-Themen 3
B Arrays/Geschachtelte For-Schleife Fehler Java Basics - Anfänger-Themen 8
W Geschachtelte for-schleife beenden Java Basics - Anfänger-Themen 2
R Geschachtelte For schleife Java Basics - Anfänger-Themen 9
P geschachtelte schleife Java Basics - Anfänger-Themen 14
E geschachtelte for-schleifen Java Basics - Anfänger-Themen 6
O Array, geschachtelte For-Schleifen Java Basics - Anfänger-Themen 34
A Klassen Geschachtelte Klassen - Hat das Objekt dann beide Klassen? Java Basics - Anfänger-Themen 4
O Geschachtelte For-Schleifen Java Basics - Anfänger-Themen 1
D Textdatei in geschachtelte Array speichern Java Basics - Anfänger-Themen 17
S geschachtelte schleifen Java Basics - Anfänger-Themen 5
J Geschachtelte If-Else Anweisung Java Basics - Anfänger-Themen 6
L Geschachtelte Konstruktoren Java Basics - Anfänger-Themen 4
G Geschachtelte ArrayListen Java Basics - Anfänger-Themen 27
B Geschachtelte Klassen Java Basics - Anfänger-Themen 2
H Geschachtelte Liste Java Basics - Anfänger-Themen 4
S kask./geschachtelte if-anweisung Java Basics - Anfänger-Themen 5
N geschachtelte ausgabe einer zeichenkette Java Basics - Anfänger-Themen 5
Informatikf Methoden While Schleife Java Basics - Anfänger-Themen 3
M While Schleife? Java Basics - Anfänger-Themen 4
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
J Koordinaten per Schleife ausgeben Java Basics - Anfänger-Themen 6
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
M For Schleife/ArrayList Java Basics - Anfänger-Themen 12
OZAN86 Methoden for schleife Java Basics - Anfänger-Themen 3
G --i versus i++ in for-Schleife Java Basics - Anfänger-Themen 11
OZAN86 For Schleife von 1-50 die Zahlen werden durch ein Komma getrennt Java Basics - Anfänger-Themen 10
M Wie kann ich Werte die in einer While Schleife sind weiter genutzt werden? Java Basics - Anfänger-Themen 7
T for-each-Schleife, verschiedene Datentypen Java Basics - Anfänger-Themen 1
T Methode um Array mit for-each-Schleife auszulesen Java Basics - Anfänger-Themen 7
Jana01 Schleife Java Basics - Anfänger-Themen 12
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
D For Schleife Java Basics - Anfänger-Themen 8
D Doppelte For Schleife / Array Java Basics - Anfänger-Themen 3
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
O Methode in while-Schleife aufrufen geht nur beim ersten Mal Java Basics - Anfänger-Themen 2
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
M log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
A Wie schaffe ich das eine while Schleife addiert danach subtrahirt? Java Basics - Anfänger-Themen 1
HoT verschiedene ArrayLists mit ähnlichem Namen in for-Schleife aufrufen Java Basics - Anfänger-Themen 3
U Problem mit dem initialisieren meines Strings in einer Schleife Java Basics - Anfänger-Themen 5
Khaled-Abo Ziffern unterscheiden mittels einer For-Schleife Java Basics - Anfänger-Themen 6
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
T Bestimmte Zahlen ausgeben mit einer whilfe Schleife Java Basics - Anfänger-Themen 21
J for /while Schleife Java Basics - Anfänger-Themen 5
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
A eine neue normale String-Array von einer String-Array, die in for schleife ist, schaffen Java Basics - Anfänger-Themen 3
DorFey Schrittweises abändern des GUI während for-Schleife / pausieren einer for-Schleife Java Basics - Anfänger-Themen 3
P Bedingung in Schleife wird nicht ausgeführt Java Basics - Anfänger-Themen 5
J Wie kann ich hier eine While schleife einbauen? Java Basics - Anfänger-Themen 3
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
K Erste Schritte Programm geht aus Schleife, warum? Java Basics - Anfänger-Themen 2
N for Schleife durch Rekursion ersetzen Java Basics - Anfänger-Themen 6
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
I Java zweidimensionales array befüllen mit for-schleife Java Basics - Anfänger-Themen 2
S Do-While-Schleife Java Basics - Anfänger-Themen 2
S While Schleife Java Basics - Anfänger-Themen 4
KogoroMori21 Mit einer Schleife eine Treppe zeichnen Java Basics - Anfänger-Themen 29
S Do-While Schleife Java Basics - Anfänger-Themen 6
T Programm Schleife/if Java Basics - Anfänger-Themen 2
S for-Schleife wird ignoriert Java Basics - Anfänger-Themen 15
L String in Do-While-Schleife Abbruchkriterium Java Basics - Anfänger-Themen 1
S Variablen Variablen in einer Schleife erstellen lassen Java Basics - Anfänger-Themen 11
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
J Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter Java Basics - Anfänger-Themen 4
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
T Ausgabe einer for Schleife Java Basics - Anfänger-Themen 2
J Abbruchbedingung in Schleife/ Untersuchung von Strings Java Basics - Anfänger-Themen 2
M Ist es möglich, das größte und zweitgrößte element in einem Array mit nur einer Schleife ausfindig zu machen ? Java Basics - Anfänger-Themen 19
UnknownInnocent Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
V Erste Schritte Potenzen b^n mittels Schleife ermitteln Java Basics - Anfänger-Themen 7
T DoWhile Schleife über mehrere Mothoden Java Basics - Anfänger-Themen 5
ZH1896ZH Datentypen Error bei For-Schleife Java Basics - Anfänger-Themen 2
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
H For-Schleife für 60 sekunden laufen lassen Java Basics - Anfänger-Themen 1
G For Schleife-Basic Java Basics - Anfänger-Themen 11
V Erste Schritte for-Schleife; Ausgabe soll alle 5 Sekunden erfolgen. Java Basics - Anfänger-Themen 4
S Hilfe bei meinem Code [Schleife]? Java Basics - Anfänger-Themen 5
S Unbedingte hilfe bei Java Aufgabe [Schleife / Zinsrechnung] Java Basics - Anfänger-Themen 14
B Berechnung zu einer Schleife formen Java Basics - Anfänger-Themen 6
B Verschachtelung von For-Schleife in While Schleife Java Basics - Anfänger-Themen 14
V Wie lasse ich die for-Schleife so oft laufen wie per Scanner angegeben? Java Basics - Anfänger-Themen 3
V Wie wiederhole ich eine for-Schleife beim erreichen eines Wertes Java Basics - Anfänger-Themen 9
G while schleife Java Basics - Anfänger-Themen 11
G while schleife mit array Java Basics - Anfänger-Themen 12
Henri Anpassung ein Schleife(Zuweisung eines Ordners) Java Basics - Anfänger-Themen 0
Henri Anpassung ein Schleife(Zuweisung eines Ordners) Java Basics - Anfänger-Themen 27
V Schleife für das Einlesen von Werten für int Variablen, die Bestandteil von Arrays sein sollen Java Basics - Anfänger-Themen 16
L Scanner schließen in While-Schleife? Java Basics - Anfänger-Themen 2
N Schleife für ein Würfelspiel Java Basics - Anfänger-Themen 10
G While schleife Java Basics - Anfänger-Themen 2
B Schleife von anderer Methode stoppen? (Start continue) Java Basics - Anfänger-Themen 18
F ForEach Schleife Java Basics - Anfänger-Themen 1
S For-Schleife in For-Schleife Java Basics - Anfänger-Themen 10
J Mit for Schleife einen String Rückwärts befüllen Java Basics - Anfänger-Themen 9
mor16Euro Erste Schritte Wie nennt man eine While oder For schleife die nie Ausgeführt wird Java Basics - Anfänger-Themen 5
K Return in Schleife Java Basics - Anfänger-Themen 4
F Abbruchbedingung einer For-Schleife Java Basics - Anfänger-Themen 5

Ähnliche Java Themen


Oben