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

这答案?!

假如输入的num=20,if通过、进行while第一次循环:count=1、num=2。因为2!=0,继续第二次count=2、num=0.2此时应该要输出了"它是个2位数",而跳出循环条件应当为num==0(若num!=0将继续循环)可是此时的num=0.2,感觉矛矛盾盾的样子啊!

于是在下进行了一些简单分析,按照上面的推论,正确的答案应该将if(num!=0)改为if(num>=1)!in fact,修改后的答案的确通过了。但将原答案复制以后粘贴却也可以通过,which puzzled me again!难道当num小于1时系统自动视为0?c语言中好像有些默认的东西与我的猜测类似,但JAVA中就不明觉来了,估计应该跟前面的那个int取整有关。

正在回答

2 回答

没有前后代码不太明白你想问的地方。

如果你是想说

int num = 999

num / 1000的结果等于0这个问题的话,

因为num和1000都是int型,int / int 仍然是 int型,而int型是不保留小数位的,所以

999 / 1000 = 0

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

举报

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

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

进入课程

这答案?!

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