gpt4 book ai didi

java - 电话键盘字符串转数字

转载 作者:行者123 更新时间:2023-12-02 12:00:20 25 4
gpt4 key购买 nike

手机有国际键盘,看起来像:

enter image description here

我的程序执行以下操作:

  • 将字符串转换为数字,例如 ABC 等于 1

  • 显示结果。

我正在这样做:

private static String getNumber(String s) {

String result = "";
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == 'A' || s.charAt(i) == 'B' || s.charAt(i) == 'C')
result += "2";
else if (s.charAt(i) == 'D' || s.charAt(i) == 'E' || s.charAt(i) == 'F')
result += "3";
else if (s.charAt(i) == 'G' || s.charAt(i) == 'H' || s.charAt(i) == 'I')
result += "4";
else if (s.charAt(i) == 'J' || s.charAt(i) == 'K' || s.charAt(i) == 'L')
result += "5";
else if (s.charAt(i) == 'M' || s.charAt(i) == 'N' || s.charAt(i) == 'O')
result += "6";
else if (s.charAt(i) == 'P' || s.charAt(i) == 'Q' || s.charAt(i) == 'R' || s.charAt(i) == 'S')
result += "7";
else if (s.charAt(i) == 'T' || s.charAt(i) == 'U' || s.charAt(i) == 'V')
result += "8";
else if (s.charAt(i) == 'W' || s.charAt(i) == 'X' || s.charAt(i) == 'Y' || s.charAt(i) == 'Z')
result += "9";
else
result += s.charAt(i);
}

return result;
}

示例输入:1-800-Flowers

输出:1-800-3569377

问题:

我可以用 for 循环或其他东西来简写这段代码吗?

最佳答案

有很多方法可以实现这个结果,你可以使用 replace()获取您想要的号码:

public static String getNumber(String s) {
// Set all String to caps
s = s.toUpperCase();

// Replace the letters with the corresponding numbers
s = s.replaceAll("(A|B|C)", "2");
s = s.replaceAll("(D|E|F)", "3");
s = s.replaceAll("(G|H|I)", "4");
s = s.replaceAll("(J|K|L)", "5");
s = s.replaceAll("(M|N|O)", "6");
s = s.replaceAll("(P|Q|R|S)", "7");
s = s.replaceAll("(T|U|V)", "8");
s = s.replaceAll("(W|X|Y|Z)", "9");

return s;

}

关于java - 电话键盘字符串转数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47310514/

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