0
我正在编写一个代码,它将解码包含所有数字中的字母的10位数电话号码。 即即将1-800-iloveny转换成1-800-4568369。 到目前为止,我只遇到过一个问题,但有两个问题。 我的if()
语句是否正确地将字符串中的当前字符转换为int? 然后,我的主要问题是,我的代码不会将转换后的字符添加到新的字符串,然后将输出解码的电话号码(假设我正确地转换它们)。用数字替换字符串中的字符
class PhoneNumber
{
String phoneNumber;
public PhoneNumber(String num)
{
phoneNumber = num;
}
public String decodePhoneNumber()
{
phoneNumber = phoneNumber.toLowerCase();
String decodedNumber = "";
for(int cnt = 0; cnt < phoneNumber.length();cnt++)
{
char ch = phoneNumber.charAt(cnt);
if((ch=='a')||(ch=='b')||(ch=='c'))
{
ch = 2;
}
else if((ch=='d')||(ch=='e')||(ch=='f'))
{
ch = 3;
}
else if((ch=='g')||(ch=='h')||(ch=='i'))
{
ch = 4;
}
else if((ch=='j')||(ch=='k')||(ch=='l'))
{
ch = 5;
}
else if((ch=='m')||(ch=='n')||(ch=='o'))
{
ch = 6;
}
else if((ch=='p')||(ch=='q')||(ch=='r')||(ch=='s'))
{
ch = 7;
}
else if((ch=='t')||(ch=='u')||(ch=='v'))
{
ch = 8;
}
else if((ch=='w')||(ch=='x')||(ch=='y')||(ch=='z'))
{
ch = 9;
}
decodedNumber = decodedNumber + ch;
}
return decodedNumber;
}
}
,然后样本输入字符串将如下所示:
public class TestPhoneNumber
{
public static void main(String[] args)
{
PhoneNumber ph1 = new PhoneNumber("1-800-ILOVENY");
System.out.println("Decoded phone number: " + ph1.decodePhoneNumber());
}
}
然而最终输出原来的样子: 解码电话号码:1-800-
谢谢,那就是问题所在。将接受,当它允许我。 – 2013-05-09 04:33:06