Java 如何用字符串替换字符
我知道用字符串替换字符是不可能的,但我正在尝试制作一个莫尔斯电码翻译程序,我有两个数组,一个是字母数组,另一个是莫尔斯电码翻译数组!我已经使用了StringTokenizer,我想取一个单词的每个字符,并用摩尔斯电码中字符的翻译来替换它!如何做到这一点 下面是代码中真正重要的部分:Java 如何用字符串替换字符,java,arrays,string,char,morse-code,Java,Arrays,String,Char,Morse Code,我知道用字符串替换字符是不可能的,但我正在尝试制作一个莫尔斯电码翻译程序,我有两个数组,一个是字母数组,另一个是莫尔斯电码翻译数组!我已经使用了StringTokenizer,我想取一个单词的每个字符,并用摩尔斯电码中字符的翻译来替换它!如何做到这一点 下面是代码中真正重要的部分: StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) {
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);
}
}
可以使用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是一个函数,它返回一个包含字符的morse码变体的字符串 通过删除您的帖子,向我们展示您到目前为止拥有的代码。您构建了一个新字符串,而不替换现有字符串中的任何内容。Java中的字符串是不可变的。当你构建它时,你要么附加一个字符,要么附加一个字符串。@realponsight我想到了这个解决方案!我如何才能做到这一点?您可以使用一个:可能重复的