【发布时间】:2017-04-20 14:51:07
【问题描述】:
我对如何将 char 数组中的每个元素替换为数字有点困惑。
这是我目前的代码:
public static void main(String []args){
String[] dialTwo = {"a", "b", "c"};
String[] dialThree = {"d", "e", "f"};
String[] dialFour = {"g", "h", "i"};
String[] dialFive = {"j", "k", "l"};
String[] dialSix = {"m", "n", "o"};
String[] dialSeven = {"p", "q", "r", "s"};
String[] dialEight = {"t", "u", "v"};
String[] dialNine = {"w", "x", "y", "z"};
Scanner in = new Scanner(System.in);
System.out.print("Enter a phone number: ");
String phoneInput = in.next();
char[] inputToArray = phoneInput.toCharArray();
while (!phoneInput.matches("^[a-pA-P0-9]*$")) {
System.out.println("Not a valid number. Try agian.");
phoneInput = in.next();
}
如果有人想输入 ;;';';,我能够成功验证字符串。
感谢你们的帮助。
我的老师也希望我使用方法类,但我对此有点困惑,所以我的做法有点不同。
所以我想要的输出,如果有人输入“CFG”,它会打印 123。
【问题讨论】:
-
您使用 String [] 的任何具体原因?无论如何,您需要使用一个遍历 char 数组的 for 循环。检查每个 string[] 是否包含该特定字符并相应地替换该字符。
-
@user1211 感谢您的回复。你介意通过如何做到这一点?我对如何使用 for 循环循环字符串感到有些困惑。至于String [],我不太确定......我应该使用char []吗?
-
嗯,据我所知,你有你的价值数组(可以使用一个字符串[][])。你应该有一个 phoneInput 值。但是你试过什么?您的老师可能更喜欢为您提供的代码(并由 SO 社区进行了一些更新)。
-
PS :
CFG应该输出123或234?
标签: java arrays string methods verify