不要试运行!直接算出结果!是高手!!题目很简单~~

sidneychao 2011-04-11 09:23:41
public static void main(String[] args) {
fun(7);

}

public static void fun(int x){

if(x/2>1)fun(x/2);

System.out.println(x);

}

不要试运行,人脑算出结果!是高手! 复制粘贴运行就不要回答 了 ,谁都会!
...全文
162 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xing8831925 2011-04-13
  • 打赏
  • 举报
回复
当执行fun(7)方法时,输出fun begin
之后根据if条件执行了fun(3),输出fun begin,再根据if条件,就不递归调用了。因为 3/2=1,不大于1,输出funs接着是3再接着fun over。这个时候fun(3)执行完了,但是fun(7)还没执行完,接着执行funs 7 fun over
xing8831925 2011-04-13
  • 打赏
  • 举报
回复
错了。
public static void fun(int x){
System.out.println("fun begin");
if(x/2>1)fun(x/2);
System.out.println("funs");
System.out.println(x);
System.out.println("fun over");
}这样执行的话大家就看出来了吧。
xing8831925 2011-04-13
  • 打赏
  • 举报
回复
脑算只有一个 3 我这就去验证。
lushaojun 2011-04-13
  • 打赏
  • 举报
回复
1
3
7
ml_dark 2011-04-13
  • 打赏
  • 举报
回复
只有一个3
  • 打赏
  • 举报
回复
3 7
哈特中尉 2011-04-11
  • 打赏
  • 举报
回复
37吧,递归方法啊
sidneychao 2011-04-11
  • 打赏
  • 举报
回复
把思想写下来,why?
bancxc 2011-04-11
  • 打赏
  • 举报
回复
137
wolf863292 2011-04-11
  • 打赏
  • 举报
回复
我也觉得是137
wangwenjun0618 2011-04-11
  • 打赏
  • 举报
回复
why
woczc 2011-04-11
  • 打赏
  • 举报
回复
3
7
songhuidanoop 2011-04-11
  • 打赏
  • 举报
回复
先走main方法,int x =7传入后走 void fun(int x)方法,
然后进行if判断,第一输出3,是7/2
再一步是,7,

23,405

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧