Оператор 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» или 'у' и сохранить значение 0, если вход «N» или 'n'
Если ввод не 'Y', 'y', 'N' ни 'н' затем я хочу повторить вопрос, пока не будет введен правильный ввод.
Проблема возникает, когда я позже в программе пытаюсь напечатать значениепотому что это не могло быть инициализировано, что несколько имеет смысл. (пример ниже)
if(topping1 > 0)
System.out.println("Pepperoni");
// 243: error: variable topping1 might not have been initialized
Я понимаю, что есть и другие способы сделать это, но, поскольку я действительно хочу изучать Java, я пытаюсь понять как можно больше основ. Поэтому я был бы очень рад, если бы кто-то мог сказать мне, почему это не работает, и если есть способ сделать это с помощью оператора switch или быстрых исправлений.