3

Hello.宿題の問題があり、考えすぎている可能性があります。再帰を使用して元に戻す必要があるため、最終結果に.

私の現在の方法は次のとおりです。

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

これは逆を出力しているように見えますが、まだ.. 誰かが生理をなくすために正しい方向に私を向けることができますか?

4

3 に答える 3

11

中かっこ内にプリントを入れます。

if (c!='.') {
   foo();
   System.out.print(c);
}
于 2012-09-23T17:17:48.683 に答える
8

を比較しているので、'.'代わりに使用してください:ではありません"."charString

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

また、それがだった場合は、を使用して比較を行うString必要があることにも注意してください。または、などのプリミティブ型を比較す​​るために使用されます。equals==!=char

于 2012-09-23T17:19:00.407 に答える
1

そのとしてchar、それはでなければなりませんsingle quoteseg : 'A'

if (c!='.')
  foo();
System.out.print(c);
}
于 2012-09-23T17:21:02.663 に答える