递归问题 递归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没有变化,所以死循环了 按关闭按钮是弹出对话框,再按取消按钮 用Process对象执行一命令,如果获得其输出啊? String在Main方法中定义的问题 [求助]问个关于vector的赋值问题 JAVA中创建自定义类的对象数组? JDBC数据缓冲问题,GOOGLE里也没有找到解决方案,有高手没 一个JSP的问题。高手请进。不会的帮顶 java 基础题求解!在线等待! 谈谈对面向对象中“多态”的理解 一个exception问题 关于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没有变化,所以死循环了