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

算法错误 求助求助

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错误,求助!!!!

提问者:Markc 2015-11-22 20:46

个回答

  • 山水之间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("输入有误!");
    }

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

    int全部改为long

    可以查一下int的取值范围