编辑:让它工作。仍然不确定奇怪的问题是什么,但我认为这与我有循环和递归有关。
最佳答案
我不完全理解这个问题。但你不需要同时使用 while 循环和递归。这里仅用递归就足够了。使用简单的 if 语句在数字完全打印时停止递归。
请注意,递归简化了将数字按正确顺序放置的过程 - 使用 while 循环,您需要以某种方式反转它们......
public static void printInBinary (int num) {
int div = num % 2;
int rem = num / 2;
if (rem > 0) {
printInBinary(rem);
}
System.out.print(div);
}
关于java - 递归方法结束时变量保持设置为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36747612/