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

请问这种方法可以么?(判断一个数(小于10位)的位数)

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

int i = 1;

    count+=1;

    for( ; (0 > (num/i)) || ((num/i) > 10) ;count++ ,i=i*10 ){

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


}

}


提问者:阿斯arth 2016-01-27 15:06

个回答

  • Alexandy
    2016-01-28 17:51:52

    简单问题复杂化了,为什么要多余的定义一个变量i呢?

    完全可以在count完了之后加上if条件句,

    while(num!=0){

        num = num/ 10;

        count++;

    }

    if(count <= 10)

        sysout...

    else

        stderr

  • xxxxwyf
    2016-01-27 15:50:47

    for的循环条件不对吧

    (num/i)>10也不能放在循环里,我的理解是先判断是小于10位的数再进行循环输出

    if(num/i<10)

    {

        for( ; (num/i)>0; count++,i=i*10);

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

    }