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

请大佬解释一下不是很理解他的代码含义

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


他这里循环的是什么,只要num不等于0,count就加一,那一开始count为0,他这里什么时候count停止增加

还有num/=10作用是什么

比如说num是9,那9/=10不是0.9吗


正在回答

3 回答

/是整数除的意思 9/10==0

num/=10;这个作用是每次循环都去掉一位

直到位数为0

count为0这个意思就是假设他是0位,循环一次加一位


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

qq_慕斯3385410 提问者

什么叫每次虚幻都去掉一位,能举个例子吗 是说比如: 999/=10,第一次是count+1,第二次就是99/=10,count+1为2,第三次9/=10,count又加一?
2019-03-12 回复 有任何疑惑可以回复我~
#2

weixin_慕侠7581233 回复 qq_慕斯3385410 提问者

第一次num 是999,while的 num!=0就成立,然后count++,是第一次,num值为999/10=99,第二次再判断此时num变成99,while的条件还是成立的,再执行count++ 是第二次,num值为99/10=9;第三次判断 while 的条件还是成立的,再执行 count++ 是第三次,num值为9/10=0,while的条件不成立了,就会输出count的值了
2019-03-12 回复 有任何疑惑可以回复我~
#3

身外韶光 回复 qq_慕斯3385410 提问者

我觉得应该这样理解,999是整数,定义的时候用的int,int是整数数据类型,只能存储整数,不能存储小数点,999每次除10的 时候,程序默认把小数点抹掉了,比如第一次循环99.9,其实是99进行的下次循环判断,然后是9.9其实是9,在下一次0.9,变成0,一共循环三次count==3,最后输出结果是3位数,其实就是用循环了几次来判断他是几位数的。
2019-03-14 回复 有任何疑惑可以回复我~

我觉得应该这样理解,999是整数,定义的时候用的int,int是整数数据类型,只能存储整数,不能存储小数点,999每次除10的 时候,程序默认把小数点抹掉了,比如第一次循环99.9,其实是99进行的下次循环判断,然后是9.9其实是9,在下一次0.9,变成0,一共循环三次count==3,最后输出结果是3位数,其实就是用循环了几次来判断他是几位数的。

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

首先num在0-999999999之间,以999为例。

当num不等于0时。count递增。(因为不等于0时他至少是1位数)这时num/10=99,再循环到if。

三次循环之后num/10=0.99(小于1)那么系统直接输出count。

else后面的表示。当while条件不成立时(num=0)直接输出输入有误。

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1163125    人
  • 解答问题       17551    个

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

进入课程

请大佬解释一下不是很理解他的代码含义

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