零基础遇到的java小问题

问题遇到的现象和发生背景 为什么两位数及以上的时候程序会一直继续,不能输出最终结果

img

img

循环中num值没有发生变化,所以只要num不是个位数,就死循环了
循环中改为 i = i/10;不是 i=num/10;

for循环使用有问题,逻辑不对,每一次循环,你的i都是等于num,所以当num大于10的时候进入了死循环。你可以尝试把i定义在外面

int i=num;
for(;i!=0;){
i=i/10;
weishu++;
}