Fancy phone numbers
Note: You may have seen a similar phone number problem last week. However, this week you are required to use concepts learned in this week: strings and the Java library method contains.
Write a Java class PhoneNumber that will take in a seven-letter word and return the phone number that corresponds to it. In the United States, the digits on a phone pad are mapped to letters by the following table:
digit | letter |
1 | |
2 | A B C |
3 | D E F |
4 | G H I |
5 | J K L |
6 | M N O |
7 | P Q R S |
8 | T U V |
9 | W X Y Z |
0 |
Hence a 7 digit phone number like HAIRCUT would map to 424-7288; NEWCARS would map to 639-2277. Submit a Java programPhoneNumber.java which has just one method decode and behaves as belo
PhoneNumber pn = new PhoneNumber();
pn.decode( “HAIRCUT”) => “4247288”
pn.decode(“NEWCARS”) => “6392277”
pn.decode( “HAIRCUT”) => “4247288”
pn.decode(“NEWCARS”) => “6392277”
Implementation Requirement:
If s is a variable of type String, that holds the phone number to be decoded (e.g. “HAIRCUT”) then you should structure your program around a nested if-else statement and use the the contains method of the String class to check for the condition below:
if ("ABC".contains(""+s.charAt(i))) {
...;
} else if ("DEF".contains(""+s.charAt(i))) {
...;
...
}
...;
} else if ("DEF".contains(""+s.charAt(i))) {
...;
...
}
After completing and testing your assignment, zip the entire BlueJ folder and submit it. Since your Instructor will need all files in the project folder, make sure you zip the entire folder. For this assignment the names of the BlueJ project, Java class files, and the zip file you submit are given below:
BlueJ project: phone_number2
Java class file: PhoneNumber.java
Submit: phone_number2.zip