这事一个递归算法把十进制的数字转化为二进制的数字
public class TestDemo
{
public static void main(String[] args)
{
toBinary(10);
}
public static void toBinary(int num)
{
if(num == 0)
{
return;
}
toBinary(num /2);
System.out.print(num%2);
}}
在运行到toBinary(num/2)这个方法时就一直调用递归
当num==0时,就返回到方法的调用处,打印语句System.out.print(num%2);
我觉得就不会输出,为什么,它能输出呢?递归
public class TestDemo
{
public static void main(String[] args)
{
toBinary(10);
}
public static void toBinary(int num)
{
if(num == 0)
{
return;
}
toBinary(num /2);
System.out.print(num%2);
}}
在运行到toBinary(num/2)这个方法时就一直调用递归
当num==0时,就返回到方法的调用处,打印语句System.out.print(num%2);
我觉得就不会输出,为什么,它能输出呢?递归
解决方案 »
- 用jxl将数据库中的数据导出到excel,代码都走完了,但是页面没有任何反应,无法下载,代码如下,求高手指点
- java nameing 问题
- JFrame显示图片问题 。。一个自学者的无奈。。在线等待结果。。。
- 初学java,两道简单的题目,想看看高手们怎么做.嘻嘻
- Tomcat的work文件夹下的文件夹删除问题
- ==请问谁有 Wise for Windows Installer 5.21 的使用方法或手册呀!!=======
- 求助 莫名奇妙的错误
- 编译出的错
- java中如何在新窗口中打开任一格式的文档。(调用打开发式)
- Applet可以建Socket吗
- swt菜单设计问题
- 关于文件读写的疑问
以10为例:
toBinary(10)
toBinary(5)
toBinary(2)
toBinary(1)
toBinary(0)
System.out.print(1%2);
System.out.print(2%2);
System.out.print(5%2);
System.out.print(10%2);
这是这个程序的执行过程。递归调用需要很深入的理解栈的操作,这样可以理解更加透彻。