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