问答详情
源自:4-15 编程练习

求大神告诉要怎么修改

public class HelloWorld{

public static void main(String[] args){

int num = 999;

for(int count=1;count<=9;count++){

    if (num%10!=0){

        num%=10;

        int i=count;

    }

    else{

        break;

    }


System.out.println("它是个"+i+"位的数!");


}



}

}

http://img.mukewang.com/576228930001fa7209870511.jpg

提问者:Phui 2016-06-16 12:19

个回答

  • jim_jlu
    2016-06-16 12:43:38
    已采纳

    package com.sellcar;
    
    public class test3 {
    	public static void main(String[] args) {
    		int num = 999;
    		int i = 0; //将变量i的作用域放在循环外
    		for (int count = 1; count <= 9; count++) {
    			if (num / 10 != 0) { //计算位数是每次除以10,而不是取模10 ,999%10=9, 9%10=9, 9%10=9,...... 就会无穷尽了
    				num = num/10; //每次除位数后要重新对num赋值,否则再次进入循环的时候num的值不变还是 999;
    				i = count;
    			} else {
    				i+=1; //当除完两次,到最后一次个位num=9 的时候, 9/10=0 不能进if循环了,就到了else中,但是9仍然是一位,需要把最后个位加上.
    				break;
    			}
    		}
    		System.out.println("它是个" + i + "位的数!");
    
    	}
    	/*当你对循环不是很清晰的时候建议你可以在草纸上做演练,分析每一次的计算的过程和结果,
    	* 我写程序五年了,现在遇到复杂的计算和循环还是要先在草纸上演练,祝你一切顺利!
    	*/
    }