-1

我尝试了以下步骤。但是我不知道下一步该怎么做。只能使用s.equals(""),s.charAt(0),s.substring(1)。不允许使用其他方式。

public string remove1 (char c, string s){
string to_ret = "";
while(true){
   if (s.equals("")) return to_ret;
   char c2 = s.charAt(0);
   if (c2 = c) return to_ret+s.substring(1)
   to_ret = to _ret;
   s = s.substring(1);
}

remove("e","hello")

接下来我能做什么?

4

5 回答 5

1

如果我理解你的问题,你可以这样做:

s = s.replace('a', 'b');
于 2013-02-01T13:36:58.890 回答
1
public String remove(char a, char b, String s) {
    String retString = "";
    for (int i = 0; i < s.length(); i++) {
        char stringChar = s.charAt(i);
        if (stringChar == a) {
            retString = retString + b;
        } else {
            retString = retString + stringChar;
        }
    }
    return retString;
}
于 2013-02-01T13:39:03.853 回答
1

让我向您介绍一种递归:

public String replace(char a, char b, String s) {
    if (s.equals("") return "";
    char ch = s.charAt(i);
    if (stringChar == a) {
        return b+ replace(a,b,s.substring(1))
    } else {
        return ch+ replace(a,b,s.substring(1))
    }   
}
于 2013-02-01T13:48:16.503 回答
0

这是一个家庭作业问题吗?

public String remove1 (char c,char b, String s){
String to_ret = "";
int len = s.length();
for(int i =0 ; i< len ; i++){
    if (s.equals("")) return to_ret;
    char c2 = s.charAt(i);
    if (c2 == c) 
        to_ret = to_ret + b;
    else
        to_ret = to_ret + c2; 

}
return to_ret;
}
于 2013-02-01T13:46:39.873 回答
0

似乎有人试图用 Java 教你函数式编程原则。我会质疑为此选择的语言。即便如此,您应该为您的解决方案寻求递归。字符串的事物作为字符列表。

于 2013-02-01T13:48:03.250 回答