我在 CodeHS 上卡在 Java 中的“3.8.12:替换字母”
I'm stuck on "3.8.12: Replace Letter" in Java on CodeHS
说明是:
编写一个方法,将一个字母的所有实例替换为另一个字母。
例如,
replaceLetter("hello", 'l', 'y')
returns
"heyyo"
我什至不确定从哪里开始,但到目前为止我已经知道了:
String str = "Hello world";
System.out.println (str);
str = str.replace("l", "y");
System.out.println (str);
但我必须让我的实际方法看起来像这样:
public String replaceLetter(String word, char letterToReplace, char replacingLetter)
所以输入任何字符串都可以,而不仅仅是我用作测试的 "Hello world"。
因此您需要获取参数并执行您在示例代码中使用 "Hello world" 执行的操作。所以在你的代码中,你有 "Hello world" 的任何地方都应该放这个词,因为它将充当他们放入方法中的内容的占位符。
举个简单的例子:
public void printMe(String wordToPrint){
System.out.println(wordToPrint);
}
然后如果有人调用它,它看起来像这样:
printMe("Hello, world"); //prints out "Hello, world"
按照此模式,您可以使用
中的所有参数执行此操作
public String replaceLetter(String word, char letterToReplace, char replacingLetter)
正如其他人所提到的,您正在使用 Java 而不是 Javascript(基于您发布的代码)。
该方法如下所示:
public static String replaceLetter (String word, char original, char newChar) {
return word.replace(original, newChar);
}
如果你想简单明了,那么你可以把字符串变成一个char[]
,遍历数组,比较后面的索引,然后将数组转换回来串起来 return 它。
例子
public static String replaceLetter (String word, char letterToReplace, char replacingLetter) {
char[] wordChar = word.toCharArray();
for (int i = 0; i < wordChar.length; i++) {
if (wordChar[i] == letterToReplace) {
wordChar[i] = replacingLetter;
}
}
return String.valueOf(wordChar);
}
说明是:
编写一个方法,将一个字母的所有实例替换为另一个字母。
例如,
replaceLetter("hello", 'l', 'y')
returns
"heyyo"
我什至不确定从哪里开始,但到目前为止我已经知道了:
String str = "Hello world";
System.out.println (str);
str = str.replace("l", "y");
System.out.println (str);
但我必须让我的实际方法看起来像这样:
public String replaceLetter(String word, char letterToReplace, char replacingLetter)
所以输入任何字符串都可以,而不仅仅是我用作测试的 "Hello world"。
因此您需要获取参数并执行您在示例代码中使用 "Hello world" 执行的操作。所以在你的代码中,你有 "Hello world" 的任何地方都应该放这个词,因为它将充当他们放入方法中的内容的占位符。
举个简单的例子:
public void printMe(String wordToPrint){
System.out.println(wordToPrint);
}
然后如果有人调用它,它看起来像这样:
printMe("Hello, world"); //prints out "Hello, world"
按照此模式,您可以使用
中的所有参数执行此操作public String replaceLetter(String word, char letterToReplace, char replacingLetter)
正如其他人所提到的,您正在使用 Java 而不是 Javascript(基于您发布的代码)。
该方法如下所示:
public static String replaceLetter (String word, char original, char newChar) {
return word.replace(original, newChar);
}
如果你想简单明了,那么你可以把字符串变成一个char[]
,遍历数组,比较后面的索引,然后将数组转换回来串起来 return 它。
例子
public static String replaceLetter (String word, char letterToReplace, char replacingLetter) {
char[] wordChar = word.toCharArray();
for (int i = 0; i < wordChar.length; i++) {
if (wordChar[i] == letterToReplace) {
wordChar[i] = replacingLetter;
}
}
return String.valueOf(wordChar);
}