gpt4 book ai didi

java - 将字符串中的字符替换为数字

转载 作者:行者123 更新时间:2023-12-02 07:02:45 24 4
gpt4 key购买 nike

我正在编写一个代码,用于将包含字母的 10 位电话号码解码为所有数字。即 1-800-iloveny 将转换为 1-800-4568369。到目前为止我只遇到了一个问题,但有两个问题。我的 if() 语句是否正确地将字符串中的当前 char 转换为 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-

最佳答案

intchar 是不同的。您应该使用 '2' 代替 2 等。

关于java - 将字符串中的字符替换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com