java - How to convert phonetic phone number to numeric phone number? -
public class driver { public static void main(string[] args) { scanner input = new scanner(system.in); string phonenumber; system.out.print("enter phonetic phone number: "); phonenumber = input.nextline(); int = 0; while (i != phonenumber.length()) { char c = phonenumber.charat(i); i++; if (character.isdigit(c) == true) { phonenumber = string.valueof(c); } else if (character.isletter(c) == true) { decode(c); } else { system.out.println("improper input"); } } system.out.println("numeric version of phone number: " + phonenumber); } private static string decode(char c) { switch (c) { case 'a': case 'b': case 'c': return "2"; case 'd': case 'e': case 'f': return "3"; case 'g': case 'h': case 'i': return "4"; case 'j': case 'k': case 'l': return "5"; case 'm': case 'n': case 'o': return "6"; case 'p': case 'q': case 'r': case 's': return "7"; case 't': case 'u': case 'v': return "8"; case 'w': case 'x': case 'y': case 'z': return "9"; } return " "; } }
right output showing numeric value first digit. i'm not sure need display whole string once converted phonetic numeric. appreciated.
you not changing phone number actually, can declare other variable add changed characters should declared outside loop.
string changednumber="";//declare outside loop //... if (character.isdigit(c) == true) { changednumber += string.valueof(c); } else if (character.isletter(c) == true) { changednumber += string.valueof(decode(c)); } else { system.out.println("improper input"); }
right directly assigning digit phonenumber
, calling decode
not using returned value.
phonenumber = string.valueof(c);
Comments
Post a Comment