I need to re-write this program so that it processes both uppercase and lowercas
ID: 3630258 • Letter: I
Question
I need to re-write this program so that it processes both uppercase and lowercase letters and outputs the corresponding telephone digit. Please help.
import
javax.swing.JOptionPane;
public class TelephoneDigitProgram
{
public static void main (String[] args)
{
char letter;
String inputMessage;
String inputString;
String outputMessage;
inputMessage = "Program to convert uppercase "
+ "letters to their corresponding "
+ "telephone digits. "
+ "To stop the program enter #. "
+ "Enter a letter:";
inputString =
JOptionPane.showInputDialog(inputMessage);
letter = inputString.charAt(0);
while (letter != '#' )
{
outputMessage = "The letter you entered is: "
+ letter + " "
+ "The corresponding telephone "
+ "digit is: ";
if (letter >= 'A' && letter <= 'Z')
{
switch (letter)
{
case 'A':
case 'B':
case 'C':
outputMessage = outputMessage
+ "2";
break;
case 'D':
case 'E':
case 'F':
outputMessage = outputMessage
+ "3";
case 'G':
case 'H':
case 'I':
outputMessage = outputMessage
+ "4";
case 'J':
case 'K':
case 'L':
outputMessage = outputMessage
+ "5";
case 'M':
case 'N':
case 'O':
outputMessage = outputMessage
+ "6";
case 'P':
case 'Q':
case 'R':
case 'S':
outputMessage = outputMessage
+ "7";
case 'T':
case 'U':
case 'V':
outputMessage = outputMessage
+ "8";
case 'W':
case 'X':
case 'Y':
case 'Z':
outputMessage = outputMessage
+ "9";
}
}
else
outputMessage = outputMessage
+ "invalid input";
JOptionPane.showMessageDialog(null, outputMessage,
"Telephone Digit",
JOptionPane.PLAIN_MESSAGE);
inputMessage = "Enter another uppercase letter "
+ "to find its corresponding "
+ "telephone digit. "
+ " To stop the program enter #. "
+ "Enter a letter:";
inputString =
JOptionPane.showInputDialog(inputMessage);
letter = inputString.charAt(0);
}
System.exit(0);
}
}
Explanation / Answer
After you read the character but before you switch-case it, convert it to uppercase.
letter = Character.toUpperCase(letter);