Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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 如何用字符串替换字符_Java_Arrays_String_Char_Morse Code - Fatal编程技术网

Java 如何用字符串替换字符

Java 如何用字符串替换字符,java,arrays,string,char,morse-code,Java,Arrays,String,Char,Morse Code,我知道用字符串替换字符是不可能的,但我正在尝试制作一个莫尔斯电码翻译程序,我有两个数组,一个是字母数组,另一个是莫尔斯电码翻译数组!我已经使用了StringTokenizer,我想取一个单词的每个字符,并用摩尔斯电码中字符的翻译来替换它!如何做到这一点 下面是代码中真正重要的部分: StringTokenizer tokenizer = new StringTokenizer(line); while (tokenizer.hasMoreTokens()) {

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

可以使用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我想到了这个解决方案!我如何才能做到这一点?您可以使用一个:可能重复的