I have seen this question asked a lot on here but I can't seem to figure out why my code doesn't work when the input are lower case characters.
When I input lower case characters it seems to execute endlessly until I terminate it. I have used the Character.toUpperCase(char) method but I assume that I haven't used it properly or there's a problem with the format of my code?
I just can't figure it out. I know that I can simply add case 'a': case 'A': to allow for both lowercase and uppercase input but I want to be able to use the Character.toUpperCase(char) method in future.
Can anyone help? Thanks in advance.
System.out.println("Please enter seven letters that you would like to convert into numbers:");
String inputNumber = console.next();
while (i < 8) {
letter = inputNumber.charAt(i);
Character.toUpperCase(letter);
if (i == 3)
{
outputNumber = outputNumber + "-";
}
switch(letter)
{
case 'A': case 'B':
case 'C': outputNumber = outputNumber + "2";
i++;
break;
case 'D': case 'E':
case 'F': outputNumber = outputNumber + "3";
i++;
break;
case 'G': case 'H':
case 'I': outputNumber = outputNumber + "4";
i++;
break;
case 'J': case 'K':
case 'L': outputNumber = outputNumber + "5";
i++;
break;
case 'M': case 'N':
case 'O': outputNumber = outputNumber + "6";
i++;
break;
case 'P': case 'Q': case 'R':
case 'S': outputNumber = outputNumber + "7";
i++;
break;
case 'T': case 'U':
case 'V': outputNumber = outputNumber + "8";
i++;
break;
case 'W': case 'X': case 'Y':
case 'Z': outputNumber = outputNumber + "9";
i++;
break;
case ' ': outputNumber = outputNumber + " ";
break;
default: outputNumber = "Invalid input.";
}
} System.out.println(outputNumber);
System.exit(0);