アルファベットの任意の文字 (大文字または小文字) を音声アルファベットに切り替えるプログラムを作成しようとしています。たとえば、「A」または「a」と入力すると、プログラムによって「Alpha」が表示されます (変更されます)。私はこれと switch ステートメントについて非常に多くの調査を行ってきましたが、行き詰まり続けています。スキャナーで「char」を使用できないことに気付きました。ただし、「char」を「String」に変更すると、switch ステートメントが台無しになります (具体的には、コード内のtoUpperCaseに下線が引かれます。間違いがわかりません。これまでに行ったことは次のとおりです。
import java.util.Scanner;
public class PhoneticTranslate {
public static void main(String[] args) {
char letter;
String phonetic;
Scanner kb = new Scanner(System.in);
System.out.print("Please enter a letter: ");
letter = kb.next();
switch(Character.toUpperCase(letter))
{
case 'A':
phonetic = "Alpha";
break;
case 'B':
phonetic = "Bravo";
break;
case 'C':
phonetic = "Charlie";
break;
case 'D':
phonetic = "Delta";
break;
case 'E':
phonetic = "Echo";
break;
case 'F':
phonetic = "Foxtrot";
break;
case 'G':
phonetic = "Golf";
break;
case 'H':
phonetic = "Hotel";
break;
case 'I':
phonetic = "India";
break;
case 'J':
phonetic = "Juliet";
case 'K':
phonetic = "Kilo";
break;
case 'L':
phonetic = "Lima";
break;
case 'M':
phonetic = "Mike";
break;
case 'N':
phonetic = "November";
break;
case 'O':
phonetic = "Oscar";
break;
case 'P':
phonetic = "Papa";
break;
case 'Q':
phonetic = "Quebec";
break;
case 'R':
phonetic = "Romeo";
break;
case 'S':
phonetic = "Sierra";
break;
case 'T':
phonetic = "Tango";
break;
case 'U':
phonetic = "Uniform";
break;
case 'V':
phonetic = "Victor";
break;
case 'W':
phonetic = "Whiskey";
break;
case 'X':
phonetic = "X-Ray";
break;
case 'Y':
phonetic = "Yankee";
break;
case 'Z':
phonetic = "Zulu";
break;
}
}
}