0

このメソッドは 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);
        }
    }
}
4

1 に答える 1

0

問題は、ゼロで割ることも剰余を見つけることもできないため、i が 0 の場合、t%i が定義されていないことです。

ループを 0 から開始する代わりに、1 から開始する必要があります。

変化する

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

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

(1 はすべての整数の係数になるため、2 からテストを開始することも検討できます)

于 2013-03-19T13:11:10.437 に答える