递归问题 递归javagame 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public void judge(int personNum, int gameNum, String flag) { for(int i = 0;i<personNum;i++) { if(gameNum == 0) { flag = "Yes"; break; }else if(gameNum < 0) { continue; }else { judge(personNum - i, gameNum - i*(gameNum-i), flag); } } System.out.println(flag); }你这段代码明显有问题,jude里面调用jude,如果gameNum 不是一开始为0,会一直不停调用,知道用完内存,所以会报StackOverflowError。而且不建议新建一个class,直接写成方法,用StrangeGame 的对象去调用不就行了,或者写成静态方法直接用。自己检查一下算法,不是太大的问题。 补充一下,比如你gameNum传入1的时候,i从0开始personNum - i 和 gameNum - i*(gameNum-i)根本没变,所以死循环了 if(gameNum == 0) { flag = "Yes"; break; }else if(gameNum < 0) { continue; }else { judge(personNum - i, gameNum - i*(gameNum-i), flag);//i此时为0 传入的personNum和 gameName没有变化,所以死循环了 java图形编辑 五年的编程经验加上这本书就能写出一个JAVA虚拟机??? 求助有关socket和io 传输问题 创建一个文件,如果路径中的文件夹不存在,我记得是会自动创建的,怎么现在不好用了? 请教一下vice versa是什么意思 一个正则表达式的问题,在线等.. 在applet中自己做的弹出窗口应该Extend什么类啊? 刚学JAVA,有几个问题,请大虾们解惑,谢谢!!! 请问各位老鸟,我做VJA,想用版本控制器 静态变量的调用方式的问题 关于2进制反转代码的问题 新手的一个小问题
for(int i = 0;i<personNum;i++) {
if(gameNum == 0) {
flag = "Yes";
break;
}else if(gameNum < 0) {
continue;
}else {
judge(personNum - i, gameNum - i*(gameNum-i), flag);
}
}
System.out.println(flag);
}你这段代码明显有问题,jude里面调用jude,如果gameNum 不是一开始为0,会一直不停调用,知道用完内存,所以会报StackOverflowError。而且不建议新建一个class,直接写成方法,用StrangeGame 的对象去调用不就行了,或者写成静态方法直接用。自己检查一下算法,不是太大的问题。
if(gameNum == 0) {
flag = "Yes";
break;
}else if(gameNum < 0) {
continue;
}else {
judge(personNum - i, gameNum - i*(gameNum-i), flag);//i此时为0 传入的personNum和 gameName没有变化,所以死循环了