Aprendendo java, não pode encontrar o símbolo

Eu estou aprendendo Java e preso em um exercício de auto-teste, escrevendo uma função recursiva que imprime uma corda para trás ...

Eu entendo o erro do compilador, mas não tenho certeza do que fazer sobre isso.

Meu código ...

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");
    }

}

Saída do compilador ...

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

Código terminado ...

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");
    }
}   

questionAnswers(7)

yourAnswerToTheQuestion