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

运行感觉是for循环的问题,但是我感觉没问题呀,求指点

int num=999;

int count=9;

for(int i=count;num<i^10;count--);

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


正在回答

4 回答

i的初始值为9,num<i*10,num<90么?,num的值为999呀,程序本身不同呢

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

慕桂英3245725 提问者

这是要用10平方的,然后Java没平方这一算法。。。。。
2019-02-21 回复 有任何疑惑可以回复我~

好吧,Java中还没平方这么一说。。。

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

首先,我们不看你的逻辑问题,只说语法问题。

你定义的“int i”完全是多余的,中文和英文的分号也没整清楚,for循环没有循环体,只有判断条件。

再看逻辑问题,count这个变量你定义来究竟是干什么的呢?你那四行代码可以这样写:

int num=999;

int count=0;

for(;num>0;num/=10)

count++;

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


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

慕桂英3245725 提问者

定义I我想着顺便保持原来的num值不变,那就只能动用count,但是count在比较的一步时候会被乘以十,改变原先的大小所以,我用I乘以十进行比较了
2019-02-21 回复 有任何疑惑可以回复我~

你没说清楚对I进行递减还是对count进行递减。

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

慕移动6307043

for循环第一步是循环变量初始化,你定义的循环变量是i,后面又是对count进行递减,逻辑不对。
2019-02-20 回复 有任何疑惑可以回复我~
#2

慕桂英3245725 提问者

count是位数,如果直接用count进行比较,会改变count的值,所以我用I进行比较,count是位数,递减能直接解决位数小于十位数的问题,
2019-02-21 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

运行感觉是for循环的问题,但是我感觉没问题呀,求指点

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