学习java,找不到符号

Joh*_*ate 9 java string recursion

我正在学习Java,并坚持自我测试练习写一个向后打印字符串的递归函数...

我理解编译器错误,但我不知道该怎么办.

我的代码......

class Back {
    void Backwards(String s) {
            if (s.length = 0) { 
                    System.out.println();
                    return;
            }
            System.out.print(s.charAt(s.length));
            s = s.substring(0, s.length-1);
            Backwards(s);
    }
}

class RTest {
    public static void main(String args[]) {
            Back b;
            b.Backwards("A STRING");
    }
Run Code Online (Sandbox Code Playgroud)

}

编译器输出......

john@fekete:~/javadev$ javac Recur.java 
Recur.java:3: error: cannot find symbol
    if (s.length = 0) { 
         ^
  symbol:   variable length
  location: variable s of type String
Recur.java:7: error: cannot find symbol
    System.out.print(s.charAt(s.length));
                               ^
  symbol:   variable length
  location: variable s of type String
Recur.java:8: error: cannot find symbol
    s = s.substring(0, s.length-1);
                        ^
  symbol:   variable length
  location: variable s of type String
3 errors
Run Code Online (Sandbox Code Playgroud)

完成的代码......

class Back {
    static void backwards(String s) {
            if (s.length() == 0) {
                    System.out.println();
                    return;
            }
            System.out.print(s.charAt(s.length()-1));
            s = s.substring(0, s.length()-1);
            backwards(s);
    }
}

class RTest {
    public static void main(String args[]) {

            Back.backwards("A STRING");
    }
}   
Run Code Online (Sandbox Code Playgroud)

Ósc*_*pez 7

写这样:

s.length() == 0 // it's a method, not an attribute
Run Code Online (Sandbox Code Playgroud)