DESKTOP-S58I0I8_20200903-李春晓
问题 1
字段,方法存放再哪里,入栈方式是什么样的啊
问题2
package Sixty;
public class Text04 {
int k=2;
public void factorization(int n ) {
while(k<=n) {
if(k==n) {
System.out.print(k);
break;
}else if(n%k==0) {
System.out.print(k+"*");
n=n/k;
factorization(n);
break;
}else if(n%k!=0) {
k++;
factorization(n);
break;
}
}
}
}
一开始k写在了方法内部,递归调用的时候k就会重新压栈,重新执行,导致结果受到了影响
对递归调用中的break理解不深刻,不理解删去break后产生的影响
删去后两个break后
while(k<=n) {
if(k==n) {
System.out.print(k);
break;
}else if(n%k==0) {
System.out.print(k+"*");
n=n/k;
factorization(n);
}else if(n%k!=0) {
k++;
factorization(n);
}
}
结果为:
2*3*3*55555*5*9999999*
已解决----------------------------------
吐槽
每天对于以前的知识理解都更新一点点,感觉多会了一点点,当天的知识还是只能吸收百分之五六十
近期评论