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

来源:4-15 编程练习

阿斯arth

2016-01-27 15:06

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+ "位的数!");


}

}


写回答 关注

2回答

  • 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+ "位的数!")

    }

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165565 学习 · 17587 问题

查看课程

相似问题