Java 奇怪的字符串代码

Java 奇怪的字符串代码,java,string,Java,String,帮助,CodeFight给我这个代码,并说它有一行错误。 但我不懂这个密码。 我想到了这行:newstringbuilder(inputString).reverse().toString() 将反转字符串,但当我运行它时没有。 代码主题:返回最右边的输入字符串数 public class Sort { static char lastDigitRegExp(String inputString) { new StringBuilder(inputString).rev

帮助,CodeFight给我这个代码,并说它有一行错误。 但我不懂这个密码。 我想到了这行:
newstringbuilder(inputString).reverse().toString()
将反转字符串,但当我运行它时没有。 代码主题:返回最右边的输入字符串数

public class Sort {

    static char lastDigitRegExp(String inputString) {
        new StringBuilder(inputString).reverse().toString();
        java.util.regex.Matcher m = java.util.regex.Pattern.compile("[0-9]").matcher(inputString);
        m.find();
        return m.group().charAt(0);
    }


    public static void main(String[] a){
        String m = "ksg23q4yfkpghqap98sr";
        System.out.println(lastDigitRegExp(m));
    }
}
改变这个

 new StringBuilder(inputString).reverse().toString();
        java.util.regex.Matcher m = java.util.regex.Pattern.compile("[0-9]").matcher(inputString);
代码行到:

String reverseString = inputString.reverse();
java.util.regex.Matcher m = java.util.regex.Pattern.compile("[0-9]").matcher(reverseString);
应该有用。代码
newstringbuilder(inputString).reverse().toString()
一旦存储在变量中就会起作用,除非在现有代码中没有对
inputString
进行更改


注意:您不需要
toString()
,因为您已经在处理字符串了。

我不懂Java,但我猜这不是一个就地操作,您需要将操作的值返回到一个变量中。@Rotem是正确的-Java字符串是不可变的。您需要inputString=new StringBuilder…我想codefight告诉您的不仅仅是这行有错误?比如说,这个错误可能是什么?与其再创建一个字符串(
reverseString
),为什么不能执行
inputString=inputString.reverse()
@Satya当然可以,这只是为了清楚地描述字符串处理。谢谢,代码实际上是inputString=newstringbuilder(inputString).reverse().toString();在这种情况下,您不需要
StringBuilder