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

这样写一个循环体就结束了,想不到要用二重循环

public class HelloWorld{

public static void main(String[] args){

    int num = 999999999;

    int count = 0;

    int i;

        for (i=1;i<=num;i=i*10){

            count++;

        }

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

    }

}


正在回答

3 回答

我觉得这样也行吧,到底有啥区别呢

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

没有问题要创造问题,加个给出x位数最大值的功能 😜

public class HelloWorld{
    public static void main(String[] args){
        int num = 999;
        int count = 0;
        int maxLength = 9; // int最大值2147483647,可计算的值最大不能超过9位数
        if(maxLength > 9 || num < 1) {
            System.out.println("请输入小于10位且大于0的数");
        } else {
            int max = 0;
            int i = 0;
            while (i < maxLength) {
                max = (max * 10) + 9;
                while(num <= max && num != 0 ) {
                    count++;
                    num /= 10; 
                }
                if (num == 0) {
                    break;
                }
                i++;
            }
            System.out.println("它是个" + count + "位的数!");
            System.out.println(count + "位数最大值为" + max);
            
        }
    }
}


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

你这样写只适用于这一个例子,嵌套循环是解决大多数类似问题,适用性更广

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

举报

0/150
提交
取消

这样写一个循环体就结束了,想不到要用二重循环

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