线程“main”中的异常java.lang.ArithmeticException:/ by zero - 查找因子

时间:2013-03-19 12:58:09

标签: java factorization

此方法接受一个int - 但是我不断收到错误消息,有人知道为什么吗?

 //finds the factors of a number that was entered
public void findFactors(int t)
{
    System.out.println("factors of " +t+ " are:");

    for(int i =0; i<t+1; i++)
    {
        if(t%i == 0)
        {
            System.out.println(i);
        }
    }
}

1 个答案:

答案 0 :(得分:0)

问题是当i为0时t%i未定义,因为你不能除以零,也不能找到余数。

不应从0开始循环,而应从1开始。

更改

for(int i =0; i<t+1; i++)

for(int i =1; i<t+1; i++)

(您也可以考虑从2开始测试,因为1将是所有整数的因子)