-5

我知道用字符串替换字符是不可能的,但我正在尝试制作一个莫尔斯电码翻译程序,我有两个数组,一个是字母,一个是莫尔斯电码翻译!我使用过 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);
            }
        }
4

1 回答 1

0

您可以使用 StringBuilder 来执行此操作。假设您有一个包含字符的数组,您可以简单地遍历每个字符并将其翻译后的变体附加到 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() 是一个函数,它返回一个包含字符的莫尔斯电码变体的字符串。

于 2016-01-16T14:44:58.190 回答