入力に応じて変数内に値を格納しようとしています:
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に、入力が「Y」または「y」の場合は値1を格納し、入力が「N」または「n」の場合は値0を格納するようにします。
入力が「Y」、「y」、「N」、「n」のいずれでもない場合は、有効な入力が入力されるまで質問を繰り返します。
この問題は、プログラムの後半で「初期化されていない可能性があるため」値を出力しようとすると発生します。これはある程度意味があります。(以下の例)
if(topping1 > 0)
System.out.println("Pepperoni");
// 243: error: variable topping1 might not have been initialized
これを行う方法は他にもあると思いますが、Javaを本当に学びたいので、できるだけ多くの基本を理解しようとしています。したがって、なぜこれが機能しないのか、switchステートメントまたはクイックフィックスを使用してこれを行う方法があるかどうかを誰かに教えてもらえれば、本当にうれしいです。