Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用字符串数组将字符串转换为不同的字符 private void convertToNumeric(){ for(int i=0;i_Java_String_Replace - Fatal编程技术网

Java 使用字符串数组将字符串转换为不同的字符 private void convertToNumeric(){ for(int i=0;i

Java 使用字符串数组将字符串转换为不同的字符 private void convertToNumeric(){ for(int i=0;i,java,string,replace,Java,String,Replace,有人能给我一些关于如何将输入转换为字符串数组中指定的字符的指导吗 这里有一个例子 用户输入“Hello world” 搜索字符串数组并将字符串中的每个字符转换为给定的数字 输出“435569753” 如果数组的第一个值包含该字符,它将被替换为数字 我不是要求被人用勺子舀,我只是需要一点关于如何开始的指导。提前感谢。这似乎是一份工作,更适合HashMap。是文档 例如,您可以使用: private void convertToNumeric() { for (int i = 0; i

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

这里有一个例子

  • 用户输入“Hello world”
  • 搜索字符串数组并将字符串中的每个字符转换为给定的数字
  • 输出“435569753”
如果数组的第一个值包含该字符,它将被替换为数字


我不是要求被人用勺子舀,我只是需要一点关于如何开始的指导。提前感谢。

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

例如,您可以使用:

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

把它转过来,从表格开始(=做什么):


现在另一个表也是如此。

是字符到数字1到1的映射,我问这个问题是因为我看到两个数组
CONVERT\u to\u NUMERIC
CONVERT\u value
!“Hello World”如何变成“43556 96753”。“h'='4',“e'='3'?在CONVERT_TO_NUMERIC中,每个字符都替换为相应的数字,如果第一个字符串包含字母,则替换为数字。是否有方法将contains方法与HashMap或类似方法一起使用?因为我使用的是值;当我试图获取值时,它返回null,因为它不存在,似乎为您指明了正确的方向。是的,谢谢,除了我不想替换整个字符串,而是每个字符。我不确定这是否会以我希望的方式起作用
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));
}
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"