java - 递归方法结束时变量保持设置为 1

标签 java class recursion

编辑:让它工作。仍然不确定奇怪的问题是什么,但我认为这与我有循环和递归有关。

最佳答案

我不完全理解这个问题。但你不需要同时使用 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/

相关文章:

c++ - 通过递归得到数字 42

Java URL - Google 翻译请求返回 403 错误?

java - 使用 Java 写入 MySQL 数据库的性能低下

java - 从 EditText Android 获取整数值

java - 我将如何像这样打印出递归跟踪?

algorithm - 如何找到给定数字数组的最大跨度?

java - 由于 IllegalAccessException,Clojure 无法在 Java 11 上调用接口(interface)默认方法

Java Web 应用程序无法连接到 AWS RDS 数据库实例

C# 嵌套 - 外部类型的访问成员

javascript - 在类内部使用 Javascript 方法转换为小写和大写