Java - Фактор Генератор программ следующий фактор метода

Я пытался изменить метод nextfactor какое-то время, чтобы получить желаемый результат. По сути, я должен исключить все четные числа, кроме 2, но все еще не могу это сделать. Код для класса ниже. Любая помощь приветствуется. С уважением

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;
}
        }

3 ответа

while (! isDivisible(triedFactor)) {
    if(triedFactor == 2) {
      triedFactor = triedFactor+1;
    } else {
      triedFactor = triedFactor+2;
    }
} 

Использование

triedFactor = triedFactor==2 ? 3 : triedFactor+2;

вместо

triedFactor = triedFactor+1;
Exclude all even except 2 ? This is code

public ArrayList GetExeptEven(int upperBound){
    ArrayList list=new ArrayList();
    list.add(1);
    list.add(2);
    for(int i=3;i<=upperBound;i=i+2)
    list.add(i);

    return list;
    }
Другие вопросы по тегам