问答详情
源自:4-15 编程练习

看别人用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 这里理解不了是
什么意思


提问者:X我思故我在 2017-09-24 16:48

个回答

  • _好吗好的
    2017-09-25 21:43:59

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

  • 爱吃零食的臭居居
    2017-09-25 19:17:39

    i=i*10; 

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

  • ECO_BIN
    2017-09-24 16:56:32

    int不能储存太大的数