仅使用charAt()替换字符串字符

时间:2018-07-04 14:51:30

标签: java replace char charat

我是Java和OOP的新手。我目前正在学习课堂测试,并且有以下问题:

我的任务是仅使用length()charAt()方法来替换给定句子中的某些字符。

给我一​​句话:

  

“这是字母i!”

此方法:

public static String replaceCharacter(String w, char b, String v) { 
}

,结果应如下所示:

  

“东风使字母向东”

这是我的出发点。我不知道如何在不使用substring()方法的情况下解决这一问题。希望有人能帮助我并给出一些解释。

2 个答案:

答案 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;
}

Demo

答案 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块中应该放入什么代码应该很容易。祝你好运!