我是Java和OOP的新手。我目前正在学习课堂测试,并且有以下问题:
我的任务是仅使用length()
和charAt()
方法来替换给定句子中的某些字符。
给我一句话:
“这是字母i!”
此方法:
public static String replaceCharacter(String w, char b, String v) {
}
,结果应如下所示:
“东风使字母向东”
这是我的出发点。我不知道如何在不使用substring()
方法的情况下解决这一问题。希望有人能帮助我并给出一些解释。
答案 0 :(得分:0)
仅循环遍历String
,如果charAt(i)
等于您的特定char
,则附加替换,否则附加charAt(i)
public static String replaceCharacter(String w, char b, String v) {
String result = "";
for (int i = 0; i < w.length(); i++) {
if (w.charAt(i) == b) {
result += v;
} else {
result += w.charAt(i);
}
}
return result;
}
答案 1 :(得分:0)
诀窍是要记住,字符串本质上只是一个字符数组,如果我们想更改数组中的元素,我们可以使用循环来实现。
我认为:
String w = "This is the letter i!";
char b = 'i';
String v = "east";
然后的方法是:
public static String replaceCharacter(String w, char b, String v) {
for (int i = 0; i < w.length(); i++) {
if (w.charAt(i) != b) {
// if the character is not 'i', we don't want to replace it
} else {
// otherwise, we want to replace it by "east"
}
}
}
弄清楚在if and else块中应该放入什么代码应该很容易。祝你好运!