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

看别人用for循环来做 有一点小问题

public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
  for(int i=1;i<=100000000;i*=10){
      if(num/i!=0){
          count++;
        }
   }
System.out.println("它是个"+count+"位的数!");
}
}

运行输出是对的 但在for(int i=1;i<=100000000;i*=10)这里 i*=10 这里理解不了是
什么意思


正在回答

3 回答

想法不错 可怜我想半天连基本的解题思路都没有

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

i=i*10; 

假如i =5 不满足条件 要升级为2位数 然后继续比较 然后升级三位数,这样循环次数少。 就像上面的朋友说的int不能存储太大的数 所以咱们给他每次循环扩大十倍 这样省时省力

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

int不能储存太大的数

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

X我思故我在 提问者

int只能储存九位数 这我知道但我的问题点不在这 而是i*=10这里怎么。理解。
2017-09-24 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

看别人用for循环来做 有一点小问题

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