A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yunfeng482 中级黑马   /  2016-3-15 12:11  /  850 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class DiguiDemo {

  2.         /**
  3.          * @param args
  4.          */
  5.         public static void main(String[] args) {
  6.                 // TODO Auto-generated method stub
  7.                
  8.                 koo(10);

  9.         }
  10.        
  11.         public static void koo(int num){
  12.                 if(num>0)
  13.                         koo(num/2);
  14.                 System.out.print(num+"\t");
  15.         }

  16. }
复制代码

11 个回复

倒序浏览
请问最后输出序列什么?能分析下吗
回复 使用道具 举报
koo(10)能解释下吗,看不懂?
回复 使用道具 举报
public static void koo(int num) {
                if (num > 0) {
                        koo(num / 2);
               
               
                        System.out.println(num );
                }
        }




应该打印出  1   2    5       10
回复 使用道具 举报
lijiy09 发表于 2016-3-15 12:47
koo(10)能解释下吗,看不懂?

调用静态方法,传入10参数。{:2_34:}这是基础,大哥
回复 使用道具 举报
向北_ 发表于 2016-3-15 13:39
public static void koo(int num) {
                if (num > 0) {
                        koo(num / 2);

大哥,输出反了,你可以运行测试下。这题可以很好的理解递归。
回复 使用道具 举报
yunfeng482 发表于 2016-3-15 19:05
大哥,输出反了,你可以运行测试下。这题可以很好的理解递归。

不对,不是反了。是输出0 1 2 5 10
回复 使用道具 举报
yunfeng482 发表于 2016-3-15 19:08
不对,不是反了。是输出0 1 2 5 10

system 那一行代码是在  if {}外????
回复 使用道具 举报
兵蜂 中级黑马 2016-3-15 20:30:41
9#
是不是1 2 5 10
回复 使用道具 举报
向北_ 发表于 2016-3-15 19:22
system 那一行代码是在  if {}外????

输出语句在if外的话 就是0 1 2  5 10 在if内就是 1 2 5 10
回复 使用道具 举报
本帖最后由 超人d咖啡也加糖 于 2016-3-15 20:58 编辑
yunfeng482 发表于 2016-3-15 20:44
输出语句在if外的话 就是0 1 2  5 10 在if内就是 1 2 5 10

if如果不写大括号的话范围是只控制if后的第一个语句
回复 使用道具 举报
打印的是0 1 2 5 10
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马