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

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 18003569377

Explanation / 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("*");
   }
}


}

}