- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个代码,用另一个字母替换字符串中的字母。但是,我当前的任务需要特定格式的代码。我尝试了以下代码:
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
,然后您将传递那些 chars
到 replaceAll
函数中(它不接受 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/
我无法在附加行中显示“真”、“假”、"is"和“否”按钮。 我在这里有一个应用程序:Application 请按照以下步骤使用应用程序: 1。当你打开应用程序时,你会看到一个绿色的加号按钮,点击 在此
我是一名优秀的程序员,十分优秀!