Оператор Switch, приводящий к Java: 240 (возможно, не был инициализирован)

Некоторое время я искал ответ на этот вопрос, но не нашел ничего, что действительно помогло бы моему делу так обнажиться передо мной:

Я пытаюсь сохранить значение внутри переменной в зависимости от ввода:

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;
    }

Я хочу переменнуюtopping1 сохранить значение 1, если вход «Y» или «y», и сохранить значение 0, если «N» или «n»

Если ввод не «Y», «y», «N» или «n», то я хочу, чтобы он повторял вопрос до тех пор, пока не будет введен правильный ввод.

Проблема возникает, когда я позже в программе пытаюсь напечатать значение «потому что оно, возможно, не было инициализировано», что в некоторой степени имеет смысл. (пример ниже)

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

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

Я понимаю, что есть и другие способы сделать это, но, поскольку я действительно хочу изучать Java, я пытаюсь понять как можно больше основ. Поэтому я был бы очень рад, если бы кто-то мог сказать мне, почему это не работает, и если есть способ сделать это с помощью оператора switch или быстрых исправлений.

Ответы на вопрос(4)

Ваш ответ на вопрос