如何为我的审查员添加空格?

时间:2015-09-29 10:23:50

标签: java string

我试图在我的单词之间产生空格,例如" x xx xxx"但相反,我得到" xxxxxx"每当我输入类似" 1 12 123"在互动中。谁有人能告诉我我失踪了什么?

public class Censor{

  public String block(String s, char c){
    if (s.length() == 0) {
      return "";
    }
    else {
      return c + block(s.substring(1), c);
    }
  }
}

1 个答案:

答案 0 :(得分:1)

您只有一个替换规则:将第一个字符替换为c。如果您希望将空格保留为空格,则您需要另一个替换规则,如下所示:

public String block(String s, char c){
    if (s.length() == 0)
      return "";
    if (s.charAt(0) == ' ')
        return " " + block(s.substring(1), c);
     return c + block(s.substring(1), c);
}

顺便说一下,扫描整个字符串的递归可能不是最好的方法(除非你的议程不同于眼睛)。我建议使用正则表达式,例如:

s.replaceAll("[^\\s]", "x")

会用x替换所有非空格字符。