java - 尝试将字符转换为字符串以放入方法中;我哪里出错了?

标签 java for-loop char replaceall

我正在编写一个代码,用另一个字母替换字符串中的字母。但是,我当前的任务需要特定格式的代码。我尝试了下面的代码:

public String replaceLetter(String word, char letterToReplace, char replacingLetter)
{
    letterToReplace = Character.toString(letterToReplace);
    replacingLetter = Character.toString(replacingLetter);
    word = word.replaceAll(letterToReplace, replacingLetter);
    return word;
}

请原谅编码中的任何低效率,因为我对一般编程还比较陌生。我最近也更深入地研究了字符和字符串,因此对于与它们相关的一些规则或特征,我有很多不了解的地方。我的代码中的错误是否不合逻辑?我目前使用的 IDE 是一款在线 IDE,其唯一目的是收集我的作业进行评分。每当我编译上面的代码时,它都会给我错误,例如缺少返回语句,所以我不会认为它是可靠的。 IDE 本身非常有限,无法编译诸如 switch 语句之类的东西,所以我希望它尽可能简单。然而,我发现 IDE 可以识别最正确的编码。我确实尝试尝试使用 for 语句进行编码:

public String replaceLetter(String word, char letterToReplace, char replacingLetter)
{
    for (int i = 0; i < word.length(); i++)
    {
        char ca = word.charAt(i);
        if (ca == letterToReplace)
        {
            word = (word.substring(0,i)+ replacingLetter + word.substring(i+1));
        }
    }
    return word;
}

但我也遇到了错误。任何纠正我的语法的帮助将不胜感激。

最佳答案

您尝试将使用 Character.toString 创建的 Strings 分配给现有的 chars,然后将这些 >charsreplaceAll 函数中(不接受 chars,它需要 Strings)。尝试将您的代码更改为:

    public String replaceLetter(String word, char letterToReplace, char replacingLetter)
    {
        String letterToReplaceAsString = Character.toString(letterToReplace);
        String replacingLetterAsString = Character.toString(replacingLetter);
        word = word.replaceAll(letterToReplaceAsString, replacingLetterAsString);
        return word;
    }

编辑: 正如 ajb 指出的,您还可以调用 replace (而不是 replaceAll)传入原始 char 周界,并跳过分配字符串 的步骤。请注意,replace 仍将替换所有出现的 char:

return word.replace(letterToReplace, replacingLetter);

关于java - 尝试将字符转换为字符串以放入方法中;我哪里出错了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40581562/

相关文章:

java - 带有每个选项卡菜单的操作栏

java重复字符

c - 使用 for 循环和 switch 语句编写字符计数器

performance - Matlab - 是否存在一种更快的方法来为大矩阵赋值?

java - 在java中读取String中的字符?

c - 从 char * 数组中删除成员

c - strcat_s 和 char 指针新手问题

java - 在java中解码编码的英镑符号

java - 如何使用 BorderLayout 在 JPanel 中定位对象?

java - 当您更改方法内的引用时会发生什么? (7)