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

三种方法,三种结果?

int num=999;

int count=0;

if(num/10!=0){

num=num/10;

count++;

}

System.out.println(count)


-----------


        int count = 0;

   for (int num = 999; num / 10 > 0; num = num / 10)


   {

count++;

}

System.out.println(count); 

-----------

 int num = 999;

int count = 0;

 for(;count<10;count++)

 {

         num=num/10;

         count++;

     }while(num%10!=0);

     

System.out.println(count);

提问者:玄鉴 2016-05-04 10:02

个回答

  • happy_陈
    2016-05-04 14:49:33

    先说下你的代码,第一种输出1,因为条件ture,不循环;

    第二种输出2,这种判断是对的,程序也是对的,但结果要加1,count初始值为0;

    第三种条件没有作用,输出1-10的数;

    楼上的也很好,以下是我的代码

    int num = 999;

    int count = 0;

    if(num>=10){

        for(int i =1;i<10;i++){

             num= num/=10;

            if(num>1){

                continue;

            }else{

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

                break;

            }

        }

    }



  • 玄鉴
    2016-05-04 10:08:01

    int num = 999;

    int count = 0;

    {do{

      count++;

      num /= 10;

     }

    while(num > 0);

    System.out.println(count);

    没必要写什么num<999999999999这些。