X我思故我在
2017-09-24 16:48
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 这里理解不了是 什么意思
想法不错 可怜我想半天连基本的解题思路都没有
i=i*10;
假如i =5 不满足条件 要升级为2位数 然后继续比较 然后升级三位数,这样循环次数少。 就像上面的朋友说的int不能存储太大的数 所以咱们给他每次循环扩大十倍 这样省时省力
int不能储存太大的数
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题