觉得给的答案不太对 如果输入为0 结果会是它是个0位的数,应该用do while吧 先执行一次

来源:4-15 编程练习

qq_星尘_8

2016-12-17 20:11

int num=0,count=0;

do {

count++;

num/=10;}

while (num!=0);

if(count>=10)

System.out.println("请输入10位以内的数");

else

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

}

}


写回答 关注

3回答

  • 王大川
    2016-12-27 17:24:58

    我也觉得循环该用do while  但是我的意思是你的6 7 8行if语句是多余的,起不到判断多于10位数的作用

    if (num >= 0  && num<=999999999){
    do {
    num/=10;
    count++;
    }
    while (num!=0);
    System.out.println("它是个"+count+"位的数!");
    }else{
        System.out.println("输入有误!");
    }
    }

  • 王大川
    2016-12-26 23:56:19

    678行是多余的   可以用答案里那样的if语句

    qq_星尘_...

    你把答案的代码复制运行一遍,把num改成0试试输出的是什么,会出现 它是个0位的数字

    2016-12-27 12:45:15

    共 1 条回复 >

  • 钼粉卡卡
    2016-12-17 20:43:39

    第五行改为:while (num>0);

    qq_星尘_...

    我这个是对的 我用的是do while这样可以实现输入0时输出的是1位数 我想问的是给的答案是否正确

    2016-12-17 20:46:31

    共 1 条回复 >

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

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

1165172 学习 · 17581 问题

查看课程

相似问题