4-15 编程练习

来源:4-15 编程练习

蓝色漩涡4269351

2016-10-25 15:05

这个判断怎么错了?(4-15 编程练习)

/*

    if(num==0){

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

    }else{

        for(int i = 1;num/i!=0;i=i*10){

            count++;

        }

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

    }*/


写回答 关注

6回答

  • 历飞雨
    2016-10-26 16:31:58

    你把num为0的时候给单独出来了。而且显示输出它是1位数。

    问题就是0是1位数呢?还是0位数呢?

    而慕课网num为0显示输出的是0位数。http://img.mukewang.com/581069d90001bb2804300760.jpg

  • Fanchone3953470
    2016-10-25 15:48:08

    每次用上一次的结果除以10,而不是第一次除以10,第二次除以100,第三次除以1000,你的i=i*10这么写的是不对的,这样每次除的i会越来越大,每循环一次i的值增加十倍,不能使得每循环一次原数除以10

  • 罗大黑3368409
    2016-10-25 15:34:27

    抱歉,说错了,你写的是对的,我当做每次num会被重新赋值了。

  • 慕飞9794
    2016-10-25 15:34:03

    你弄个用户自己输入,Scanner。。。当输入-1时你就知道了,应该就是你的for循环区间大小有问题

  • 罗大黑3368409
    2016-10-25 15:28:01

    每次用上一次的结果除以10,而不是第一次除以10,第二次除以100,第三次除以1000,你的i=i*10这么写的是不对的,这样每次除的i会越来越大,每循环一次i的值增加十倍,不能使得每循环一次原数除以10

  • 慕粉4172569
    2016-10-25 15:26:17

    并没有错

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

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

1165172 学习 · 17581 问题

查看课程

相似问题