算法错误 求助求助

来源:4-15 编程练习

Markc

2015-11-22 20:46

package test1;

public class test2
{
    public static void main(String args[])
    {
        int mul = 1;
        int num = 999;
        int count = 0;
        for(int i=9;i>=1;i--)
        {
            for (int j=1;j<=i;j++)
            {
                mul=mul*10;
            }
            count=num/mul;
            if (count!=0)
            {
                System.out.println(mul+1);
                break;
            }        
        }
    }
}

这个代码提示有除0错误,求助!!!!

写回答 关注

2回答

  • 山水之间123
    2015-12-01 03:35:46
    已采纳

    if (num >= 0  && num<=999999999){
         while(num != 0){
         count++;
         num/=10;    // num/=10的意思是将整数num末尾数去掉,可用于计算一个数字的位数。

         }

    System.out.println("它是个"+ count+"位的数!");
    } else{
    System.out.println("输入有误!");
    }

    Markc

    非常感谢!

    2015-12-08 19:04:24

    共 1 条回复 >

  • 爱我娇姐前途无量
    2015-11-22 20:53:57

    int全部改为long

    可以查一下int的取值范围

    蓝蓝的海风吹

    恩,int的长度不够,这个i等于6的时候超过了20亿。可以试试改long

    2015-11-22 22:15:38

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1165547 学习 · 17586 问题

查看课程

相似问题