【问题标题】:How to alter a character in a string in java [duplicate]如何在java中更改字符串中的字符[重复]
【发布时间】:2016-05-13 16:30:46
【问题描述】:
Scanner s=new Scanner(System.in);
String str=s.nextLine();
str.charAt(2)='a';

我用过 substr 函数。但是没有它可以做到吗?为什么这个说法不正确?

【问题讨论】:

    标签: java input


    【解决方案1】:

    字符串在 JAVA 中是不可变的。您可以将其转换为字符数组,然后更改字符。

    String str = s.nextLine();
    char[] chrArray = str.toCharArray();
    chrArray[2] = 'a';
    

    如果你想要一个字符串,那么你可以这样做:

    String finalStr = new String(chrArray);
    

    【讨论】:

      【解决方案2】:

      你可以像这样使用setCharAt

        StringBuilder string = new StringBuilder(str);
          string.setCharAt(2, 'a');
      

      char[]数组:

        char[] nameChars = str.toCharArray();
        nameChars[2] = 'a';
      

      【讨论】:

      • 如果我没记错的话应该是StringBuilder myName = new StringBuilder(str);而不是StringBuilder myName = new StringBuilder("str");
      【解决方案3】:
      StringBuilder sb =new StringBuilder(str);
          System.out.println(" string is : "+sb.replace(2, 3, "a"));
      

      sb.replace(开始索引,结束索引,替换字符串)
      起始索引 ;- 字符串起始索引
      end index ;- end index 例如如果你想替换单个字符然后开始 2 和结束 3

      【讨论】:

        猜你喜欢
        • 2016-01-08
        • 2014-06-18
        • 1970-01-01
        • 1970-01-01
        • 2011-12-17
        • 1970-01-01
        • 2017-10-24
        • 2014-03-25
        • 2012-09-26
        相关资源
        最近更新 更多