仅使用 charAt() 替换字符串字符
Replace a string character by only using charAt()
我是 Java 和 OOP 的新手。我目前正在学习 class 测试并有以下问题:
我的任务是仅使用 length()
和 charAt()
方法替换给定句子中的某些字符。
我得到的句子是:
"This is the letter i!"
此方法:
public static String replaceCharacter(String w, char b, String v) {
}
结果应该是这样的:
"Theasts easts the letter east"
这是我的起点。我不知道如何在不使用 substring()
方法的情况下解决这个问题。希望有人能帮我解释一下。
只需遍历 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;
}
诀窍是记住字符串本质上只是一个字符数组,如果我们想更改数组中的元素,我们可以使用循环来实现。
我假设:
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 和 else 块中的代码应该很容易。祝你好运!
我是 Java 和 OOP 的新手。我目前正在学习 class 测试并有以下问题:
我的任务是仅使用 length()
和 charAt()
方法替换给定句子中的某些字符。
我得到的句子是:
"This is the letter i!"
此方法:
public static String replaceCharacter(String w, char b, String v) {
}
结果应该是这样的:
"Theasts easts the letter east"
这是我的起点。我不知道如何在不使用 substring()
方法的情况下解决这个问题。希望有人能帮我解释一下。
只需遍历 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;
}
诀窍是记住字符串本质上只是一个字符数组,如果我们想更改数组中的元素,我们可以使用循环来实现。
我假设:
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 和 else 块中的代码应该很容易。祝你好运!