私は、今すぐ希望の結果を得るためにしばらくの間nextfactorメソッドを変更しようとしてきました。基本的には、2を除いてすべての偶数を除外することになっていますが、まだそれを行うことはできません。クラスのコードは次のとおりです。どんな助けもありがとうございます。よろしくJavaファクタージェネレータープログラムnextfactorメソッド
public class FactorGenerator
{
private int number;
public FactorGenerator(int num)
{
// initialise instance variables
number = num;
if (number <= 2) {
System.out.println("Wrong argument");
}
}
public boolean hasMoreFactors()
{
if (number >= 2) {
return true;
} else {
return false;
}
// return (number >= 2);
}
public boolean isDivisible(int otherNumber)
{
if (number % otherNumber == 0) {
return true;
} else {
return false;
}
}
/**
* Determine next factor.
* pre-condition: call only if hasMoreFactors
* returns true
*
* @return a factor of the object's number
*/
public int nextFactor()
{
int triedFactor = 2;
if(number % nextFactor == 0)
while (! isDivisible(triedFactor)) {
triedFactor = triedFactor+1;
}
number = number/triedFactor;
return triedFactor;
}
}
Plsは、(x)がtrueを返す場合、 'のような構成により、プログラムを難読化止めます。それ以外の場合はfalseを返します。 'triedFactor = triedFactor == 2のようなもの? 3:triedFactor + 2;はあなたの問題を解決しますが、プログラムはひどいままです。 – maaartinus