【问题标题】:I'm stuck on "3.8.12: Replace Letter" in Java on CodeHS我被困在 CodeHS 上的 Java 中的“3.8.12:替换字母”上
【发布时间】:2018-07-05 03:55:01
【问题描述】:

指令是:

编写一个方法,将一个字母的所有实例替换为另一个。

例如,

replaceLetter("hello", 'l', 'y')

返回

"heyyo"

我什至不知道从哪里开始,但到目前为止我已经做到了:

String str = "Hello world";
System.out.println (str);
str = str.replace("l", "y");
System.out.println (str);

但我必须让我的实际方法看起来像这样:

public String replaceLetter(String word, char letterToReplace, char replacingLetter)

所以输入任何字符串都可以,而不仅仅是我用作测试的“Hello world”。

【问题讨论】:

  • javascript != java.. 这看起来像 java 代码

标签: java replace letters


【解决方案1】:

该方法如下所示:

public static String replaceLetter (String word, char original, char newChar) {
    return word.replace(original, newChar);
}

【讨论】:

    【解决方案2】:

    因此,您需要获取参数并执行您在示例代码中使用“Hello world”执行的操作。因此,在您的代码中任何有“Hello world”的地方都放置这个词,因为它将充当他们在方法中放入的内容的占位符。

    举个简单的例子:

    public void printMe(String wordToPrint){
        System.out.println(wordToPrint);
    }
    

    那么如果有人调用它,它会是这样的:

    printMe("Hello, world"); //prints out "Hello, world"
    

    按照此模式,您可以使用

    中的所有参数来执行此操作
    public String replaceLetter(String word, char letterToReplace, char replacingLetter)
    

    不过,正如其他人所提到的,您使用的是 Java 而不是 Javascript(基于您发布的代码)。

    【讨论】:

      【解决方案3】:

      如果您想以简单直接的方式进行操作,那么您可以将字符串转换为char[],遍历数组,比较替换所有后面的索引,然后将数组转换回字符串并返回它。

      示例

      public static String replaceLetter (String word, char letterToReplace, char replacingLetter) {
          char[] wordChar = word.toCharArray();
          for (int i = 0; i < wordChar.length; i++) {
              if (wordChar[i] == letterToReplace) {
                  wordChar[i] = replacingLetter;
              }
          }
          return String.valueOf(wordChar);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-02
        • 1970-01-01
        • 2014-08-22
        相关资源
        最近更新 更多