Create a Java program using a NetBeans project containing a single class to solv
ID: 3682970 • Letter: C
Question
Create a Java program using a NetBeans project containing a single class to solve exercise 6.21 in the textbook. Valid input characters are letters, digits and ’-‘. The user input does not need to be error checked except that if a non-valid character is part of the input string, replace the character with ‘*’.
*6.21 (Phone keypads) The international standard letter/number mapping for telephones is shown in Programming Exercise 4.15. Write a method that returns a number, given an uppercase letter, as follows: int getNumber (char uppercaseletter) Write a test program that prompts the user to enter a phone number as a string. The input number may contain letters. The program translates a letter (uppercase or lowercase) to a digit and leaves all other characters intact. Here is a sample run of the program: Enter a string: 1-800-FlowersEnter 1-800-3569377 -Flowers Enter Enter a string: 1800flowers nter 18003569377Explanation / Answer
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ProgrammingEx6_21 {
public static int getNumberForLetter(String character){
char c = character.toLowerCase().charAt(0);
int n;
switch (c) {
case 'a':
case 'b':
case 'c':
n = 2;
break;
case 'd':
case 'e':
case 'f':
n = 3;
break;
case 'g':
case 'h':
case 'i':
n = 4;
break;
case 'j':
case 'k':
case 'l':
n = 5;
break;
case 'm':
case 'n':
case 'o':
n = 6;
break;
case 'p':
case 'q':
case 'r':
case 's':
n = 7;
break;
case 't':
case 'u':
case 'v':
n = 8;
break;
case 'w':
case 'x':
case 'y':
case 'z':
n = 9;
break;
default:
n = 0;
break;
}
return n;
}
public static void main(String[] args) {
System.out.print("Enter a String(Phone Number):");
Scanner input = new Scanner(System.in);
String s = input.next();
for(int i=0;i<s.length();i++){
if(Character.isDigit(s.charAt(i))){
System.out.print(s.charAt(i));
}
else if(Character.isLetter(s.charAt(i))){
System.out.print(getNumberForLetter(Character.toString(s.charAt(i))));
}else if(s.charAt(i)=='-'){
System.out.print("-");
}else{
System.out.print("*");
}
}
}
}