private void convertToNumeric() {
for (int i = 0; i < this.CONVERT_TO_NUMERIC.length; i++) {
for (int j = 0; j < this.INPUT_FROM_USER.length(); j++) {
}
}
}
private String INPUT_FROM_USER = "";
private final String[][] CONVERT_VALUES = { {"1", "w"}, { "2", "e"}, {"3", "r"},
{"4", "s"}, {"5", "d"}, {"6", "f"}, {"7", "z"},
{ "8", "x"}, {"9", "c"} };
private final String[][] CONVERT_TO_NUMERIC = { {"abc", "2"}, {"def", "3"}, {"ghi", "4"},
{"jkl", "5"}, {"mno", "6"}, {"pqrs", "7"},
{"tuv", "8"}, {"wxyz", "9"} };
有人可以就如何将输入转换为字符串数组中指定的字符给我一些指导吗?
这是一个例子。
如果数组的第一个值包含该字符,它将被替换为数字。
我不是要求做饭,我只需要一些关于如何开始的指导。提前谢谢。
答案 0 :(得分:1)
这似乎是一项工作,更适合HashMap
。 Here是文档。
例如,您可以使用:
HashMap<String, String> map = new HashMap<String, String>();
map.put("H", "10");
map.put("I", "11");
然后当输入字符串到达时:
String value = "Hello";
String response = "";
for(char c : value)
{
response += map.get(String.valueOf(c));
}
答案 1 :(得分:1)
转过来,然后从表格开始(=做什么):
String value = "Hello world";
for (String[] mapping : CONVERT_TO_NUMERIC) {
value = value.replaceAll("(?i)[" + mapping[0] + "]", mapping[1]);
// Case insensitive "[abc]" -> "2" etcera.
}
// value now is "43556 96753"
现在另一张桌子也一样。