java 猴子吃桃子的问题 其中有断代码看不懂 希望有人能帮我解答一下 最好再把这个整个的思路也说一下 谢谢

就是这段代码(peach(day+1,sday)+1)*2;看不懂什么意思知道是公式不知道为什么这么算java新人谢谢大家了importjava.util.*;publi... 就是这段代码 (peach(day+1,sday)+1)*2; 看不懂 什么意思 知道是公式 不知道为什么这么算 java新人 谢谢大家了

import java.util.*;
public class Wj{
//day 表示想得到哪天的桃子数,sday表示吃了多少天剩下一个桃子
public static int peach(int day,int sday)
{
if(day==sday)
{
return 1;
}
else
{
//问题就在这 (peach(day+1,sday)+1)*2;
//
return (peach(day+1,sday)+1)*2;
}
}
public static void scan()
{
System.out.println("请输入2个数:");
Scanner sr=new Scanner(System.in);
int a=sr.nextInt();
int b=sr.nextInt();

if(a<b)
{
System.out.println(Wj.peach(a, b));
}
else
{
System.out.println("第一个数要小于等于大二个数");
Wj.scan();
}
}
public static void main(String []args)
{
Wj.scan();

}
}
展开
 我来答
seetoit
2011-06-02 · 超过26用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:21.1万
展开全部
peach不是什么公式,是自己调用自己。(peach(day+1,sday)+1)*2 返回后一天的数量+1的两倍。
用day=2, sday=3跟着程序跑一次,然后想一下我们实际解题的过程你就明白了。3,4也行
playboy5210
2011-06-02 · TA获得超过618个赞
知道小有建树答主
回答量:265
采纳率:100%
帮助的人:156万
展开全部
这是一个递归,其实就是调用自己。
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yipiantianYS
2011-06-02 · TA获得超过347个赞
知道小有建树答主
回答量:136
采纳率:0%
帮助的人:115万
展开全部
恩,是递归调用
确实对于递归问题理解起来都挺难的,但不要急躁,静下心来,按照代码的执行顺序去逐步分析,你就会理解其中的奥妙,递归是个非常重要的算法,你若能灵活掌握和运用递归思想,你会发现你的编程境界真的提高了。
加油,祝愿你能成功……
追问
谢谢 我在看看书去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式