递归作业

use*_*948 3 java recursion

我有一个功课问题我可能会过度思考,我需要反转Hello.使用递归,以便最终结果没有.

我目前的方法是:

public void foo(){
    Scanner scan = new Scanner(system.in);
    char c = scan.nextChar();
    if (c!='.')
        foo();
    System.out.print(c);
}
Run Code Online (Sandbox Code Playgroud)

这似乎输出相反,但它仍然有..有人能指出我正确的方向摆脱这段时期吗?

P.P*_*.P. 11

将打印件放在支架内:

if (c!='.') {
   foo();
   System.out.print(c);
}
Run Code Online (Sandbox Code Playgroud)


Joã*_*lva 8

使用'.'而不是"."因为你比较a char,而不是String:

public void foo(){
  Scanner scan = new Scanner(system.in);
  char c = scan.nextChar();
  if (c != '.') {
    foo();
    System.out.print(c);
  }
}
Run Code Online (Sandbox Code Playgroud)

另请注意,如果是a String,则需要使用equals进行比较.==或者!=用于比较原始类型,例如char.