У меня возникли проблемы с заполнением этого генератора факторов из моего класса программирования. Он должен взять номер и распечатать все факторы, используя метод nextFactor. Когда я ставлю число, чтобы сказать 150, он печатает «1 2 3 5», где предполагается напечатать «2 3 5 5». Итак, куда мне идти? Я посмотрел на Java - Factor Generator program nextfactor method, но это не awnser любого из моего inqueriesПроблема с генератором факторов
public class FactorGenerator
{
//user inputs int from scanner in FactorTester class
public FactorGenerator(int i)
{
num = i;
}
//Checks to see if num can be factored, but does not factor it.
//Goes through all possible factors of num and returns true if the remainder == 0
public boolean hasMoreFactors()
{
for(int i = 1; i < num; i++)
{
//check if the remainder is anything other then 0
if(num % i == 0)
{
return true;
}
}
return false;
}
//Actually factors num and prints out the factor at the end of every loop.
public void nextFactor()
{
for(int i = 1; i < num; i++)
{
//check if the remainder is anything other then 0
if(num % i == 0)
{
System.out.println(i);
num /= i;
}
}
System.out.println("Done.");
}
private int num;
}
Не будет ли причиной бесконечного цикла, когда i равно 1? – Taylor
Да, хороший пятнистый денщик. – BevynQ
Спасибо, Робин! – Taylor