私はちょうどjavaを開始しており、入力番号の要因を返すための簡単なプログラムを書いています。テスターと下の2つのクラスがあります。javaメソッドから特定の整数を除外するreturn
残念ながら、私の出力は、私が入力150あれば言って、なぜこれが起こっている私が知っている2、3、0、5、5
です。ローカル変数q = iのときは明らかに2,3,5,5となりますが、最初のif文の条件が満たされない場合、qは0として読み込まれます。
整数、この場合は0、出力から?私は何時間も簡単な問題でなければならないものと闘ってきました。明らかに私は何かを見ていません。
私はこのプログラムを書くための簡単な方法があり実現し、全ての方法がそのまま残っている必要があります...
public class FactorGenerator {
private int y;
private int i;
public FactorGenerator(int numberToFactor)
{
y = numberToFactor;
i = 2;
}
public boolean hasMoreFactors()
{
if (i <= y)
{
return true;
}
else
{
return false;
}
}
public int nextFactor()
{
int q=0;
if(y % i != 0)
i++;
if(y % i == 0)
{
y = y/i;
q = i;
}
return q;
}
}
どのようにこれらのメソッドを正確に使用していますか? –
特定の整数を除外する必要はありません。あなたの実装をそれを必要としないものに調整するだけです。さらに、期待される出力は何ですか?すべての要因は150ですか? 1、3、5、10、15、30、50、150? – user3437460