0
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"} };

有人可以给我一些关于如何将输入转换为字符串数组中指定的字符的指导吗?

这是一个例子。

  • 用户输入“Hello world”
  • 搜索字符串数组并将字符串中的每个字符转换为给定的数字
  • 输出“43556 96753”

如果数组的第一个值包含字符,它将被替换为数字。

我不是要求被喂,我只是需要一些关于如何开始的指导。提前致谢。

4

2 回答 2

1

这似乎是一份工作,更适合HashMap. 是文档。

例如,您可以使用:

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));
}
于 2013-05-27T11:36:59.513 回答
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"

现在另一张桌子也一样。

于 2013-05-27T11:41:08.263 回答