我正在尝试编程一个递归的角色。 目前它输出正确的数字,但顺序错误(反转)。 但是输出应该是向前的。 任何提示?
public class uhs {
public static void main (String[] args) {
int z = Integer.parseInt(args[0]);
int q = Integer.parseInt(args[1]);
hornerUmkehrungRekursiv(z, q);
System.out.println("");
}
static int hornerUmkehrungRekursiv(int z, int q) {
if (z == 0) {
return 0;
} else {
System.out.print(z % q);
return (hornerUmkehrungRekursiv(z / q, q) * 2) + z % q;
}
}
}
答案 0 :(得分:0)
如果你不能使用StringBuilder变量,那么你需要更改你的代码,以便它进行递归调用直到最后一个除法,然后它打印余数。您只需稍微更改您的代码,这是一个如何完成它的示例:
public class uhs {
public static void main(String[] args) {
int z = Integer.parseInt(args[0]);
int q = Integer.parseInt(args[1]);
System.out.println(hornerUmkehrungRekursiv(z, q));
}
static int hornerUmkehrungRekursiv(int z, int q) {
if (z / q != 0) {
System.out.print(hornerUmkehrungRekursiv(z / q, q));
}
return z % q;
}
}
答案 1 :(得分:0)
您需要在递归调用后执行print:
<div class="parent">
<img src="http://s3.favim.com/610/151107/art-black-and-white-geometric-minimal-Favim.com-3533393.jpg">
<div class="text">allo</div>
</div>
为您提供预期结果“11010010”。