【问题标题】:How to replace all characters in a String without using replace() methods , StringBuilder, or StringBuffer, or Arrays?如何在不使用 replace() 方法、StringBuilder、StringBuffer 或数组的情况下替换字符串中的所有字符?
【发布时间】:2021-12-03 07:58:27
【问题描述】:

我有一个作业要求我将所有字符 'e' 替换为字符 '%'。我不允许使用任何其他类,如 StringBuilder、StringBuffer,也不能使用 Arrays 或 replace() 方法。

这是我的代码:

public String replace(String s, char letter)
{
    String myString = "";
    String myWords = "";

    for (int i = 0; i < s.length(); i++){

        if (s.charAt(i) != ' ' && s.charAt(i) != letter) {
            
            myString = myString + s.charAt(i);

        } else {

            if (s.charAt(i) == letter){
                myWords += '%';
            }
            myWords += myString + " ";
            myString = "";
        
        }
        

    }
    return myWords;

    
}

到目前为止,这是我的代码,但它没有给我正确的输出。

Input: Always eating apples
My Output: always %ating %
Correct Output: always %ating appl%s

【问题讨论】:

  • @RikayanBandyopadhyay 标题说不用replace
  • String.join("%", s.split("" + letter))
  • 请不要删除您的代码。当您尝试解决问题时,您的问题质量合理。
  • Java replace all square brackets in a string 似乎没有回答这个问题,因为那里的解决方案使用replace 方法。

标签: java string


【解决方案1】:

不知道您为什么使用 myWords 变得复杂

public static String replace(String s, char letter)
{
    String myString = "";

    for (int i = 0; i < s.length(); i++){

        if (s.charAt(i) != letter) {
            myString = myString + s.charAt(i);
        } else {
            if (s.charAt(i) == letter){
                myString = myString + '%';
            }
        
        }
        

    }
    return myString;

    
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-27
    • 2021-06-26
    • 2016-07-13
    • 2020-12-30
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多