gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 08:31:34 26 4
gpt4 key购买 nike

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

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,其唯一目的是收集我的作业以进行评分。每当我编译上面的代码时,它都会给我错误,例如缺少 return 语句,所以我认为它不可靠。 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 边界,并跳过分配 Strings 的步骤。请注意,replace 仍会替换所有出现的 char:

return word.replace(letterToReplace, replacingLetter);

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com