为了账号安全,请及时绑定邮箱和手机立即绑定

觉得给的答案不太对 如果输入为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+"位的数!");

}

}


正在回答

3 回答

我也觉得循环该用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("输入有误!");
}
}

1 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~
#1

qq_星尘_8 提问者

你把答案的代码复制运行一遍,把num改成0试试输出的是什么,会出现 它是个0位的数字
2016-12-27 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

qq_星尘_8 提问者

我这个是对的 我用的是do while这样可以实现输入0时输出的是1位数 我想问的是给的答案是否正确
2016-12-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信