

> 文字列 s と文字 letter が与えられるので、s 内の letter を全て削除した文字列を返す replaceWithChar
> という関数を作成してください。ただし、letter が含まれていない場合は、s をそのまま返してください。

この問題で以下のように回答したのですがエラーになりました。なぜでしょうか？  
また答えを教えてください。

**エラーメッセージ:**

[code]

    Main.java:5: error: no suitable method found for replace(char,String)
            else return  s.replace(letter,"");
                          ^
        method String.replace(char,char) is not applicable
          (argument mismatch; String cannot be converted to char)
        method String.replace(CharSequence,CharSequence) is not applicable
          (argument mismatch; char cannot be converted to CharSequence)
    1 error
    
[/code]

**作成したコード:**

[code]

    class Solution{
        public static String replaceWithChar(String s, char letter){
            // 関数を完成させてください
            if(s.indexOf(letter)!=-1) return s;
            else return  s.replace(letter,"");
        }
    }
    
[/code]


CC BY-SA 4.0
2022-08-01T16:18:48.017
90318
2022-08-02T00:14:36.647
2022-08-02T00:14:36.647
3060
53802
question
java
簡単な質問　JAVA


char型からString型へ変換してからreplaceしました。

[code]

    class Solution{
        public static String replaceWithChar(String s, char letter){
            return s.replace(String.valueOf(letter),"");
        }
    }
    
[/code]

[【Java入門】Stringとcharの変換方法まとめ](https://www.sejuku.net/blog/19544)


CC BY-SA 4.0
2022-08-01T16:56:42.873
90319
2022-08-01T16:56:42.873
39819
90318
answer