如何用字符串替换char

时间:2016-01-16 14:24:10

标签: java arrays string char morse-code

我知道用字符串替换字符是不可能的,但我正在尝试制作一个莫尔斯代码翻译程序,我有两个数组一个带字母,一个带有莫尔斯代码翻译!我已经使用了StringTokenizer,我希望获取一个单词的每个字符,并将其替换为莫尔斯电码中的字符翻译!怎么办呢?

以下是真正重要的代码部分:

StringTokenizer tokenizer = new StringTokenizer(line);
        while (tokenizer.hasMoreTokens()) {
            String token = tokenizer.nextToken();
            if (isWord(token)) {
                for (int j = 0; j < token.length(); j++) {
                    char ch = token.charAt(j);
                    for (int k=0; k<26; k++){
                        if (ch==((char)letter[k])){
                            ch=(char)morse[k];
                        }
                    }
                }
            System.out.print(token);
            }
        }

1 个答案:

答案 0 :(得分:0)

您可以使用StringBuilder执行此操作。假设你有一个带有chars的数组,你可以简单地遍历每个char并将其翻译的变量附加到StringBuilder对象。

示例:

    char[] chars = {'h', 'e', 'l', 'l', 'o'};
    StringBuilder sb = new StringBuilder();
    for (char c : chars) {
        sb.append(getMorse(c));
    }
    System.out.println(sb.toString());

其中getMorse()是一个函数,它返回一个包含char的morse代码变体的String。