Switch-Anweisung, die zu Java führt: 240 (möglicherweise nicht initialisiert)

Ich habe mich eine Weile nach einer Antwort umgesehen, aber nichts gefunden, was meinem Fall wirklich hilft:

Ich versuche, einen Wert in einer Variablen abhängig von der Eingabe zu speichern:

switch(pepperoni) {

    case 'Y':
    case 'y':
        topping1 = 1;
        break;

    case 'N':
    case 'n':   
        topping1 = 0;
        break;

    default: 

        {
    System.out.print("This is not a valid response, please try again \n");  
    System.out.print("Do you want Pepperoni? (Y/N): ");
    pepperoni = scan.next().charAt(0);
        break;
    }

Ich möchte die Variabletopping1 um den Wert 1 zu speichern, wenn die Eingabe 'Y' oder 'y' ist und um den Wert 0 zu speichern, wenn die Eingabe 'N' oder 'n' ist

Wenn die Eingabe weder "J", "J", "N" noch "N" ist, soll die Frage wiederholt werden, bis eine gültige Eingabe eingegeben wird.

Das Problem tritt auf, wenn ich später im Programm versuche, den Wert "weil er möglicherweise nicht initialisiert wurde" auszudrucken, was etwas sinnvoll ist. (Beispiel unten)

if(topping1 > 0)
    System.out.println("Pepperoni"); 

// 243: error: variable topping1 might not have been initialized

Mir ist klar, dass es auch andere Möglichkeiten gibt, aber da ich wirklich Java lernen möchte, versuche ich, so viele Grundlagen wie möglich zu verstehen. Daher würde ich mich sehr freuen, wenn mir jemand sagen könnte, warum dies nicht funktioniert und ob es eine Möglichkeit gibt, dies mit einer switch-Anweisung oder schnellen Korrekturen zu tun.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage