Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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