我有一个功课问题我可能会过度思考,我需要使用递归来反转Hello.
,以便最终结果没有.
我目前的方法是:
public void foo(){
Scanner scan = new Scanner(system.in);
char c = scan.nextChar();
if (c!='.')
foo();
System.out.print(c);
}
这似乎输出相反,但它仍然有.
。有人能指出我正确的方向摆脱这段时期吗?
答案 0 :(得分:11)
将打印件放在大括号内:
if (c!='.') {
foo();
System.out.print(c);
}
答案 1 :(得分:8)
使用'.'
代替"."
,因为您要比较的是char
,而不是String
:
public void foo(){
Scanner scan = new Scanner(system.in);
char c = scan.nextChar();
if (c != '.') {
foo();
System.out.print(c);
}
}
另请注意,如果是String
,则需要使用equals
进行比较。 ==
或!=
用于比较基本类型,例如char
。
答案 2 :(得分:1)
由于char
为single quotes
,eg : 'A'
if (c!='.')
foo();
System.out.print(c);
}