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

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

int num=0,count=0;

do {

count++;

num/=10;}

while (num!=0);

if(count>=10)

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

else

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

}

}


提问者:qq_星尘_8 2016-12-17 20:11

个回答

  • 王大川
    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语句

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

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