我必须编写一个程序来计算数字的素因子。我已经完成了算法,我只是没有看到如何使用方法hasMoreFactors和nextFactor。这是构造函数中的算法
int i = 2;
while (num > 1)
{
if (num % i == 0)
{
System.out.println(i); // test if algorithm works
factor.add(i); // adds factor to array list
}
else
{
i++;
}
我的预感是我必须在算法中使用hasMoreFactors,所以我会替换它:
if (num % i == 0)
使用hasMoreFactors()。
if (hasMoreFactors() == true)
答案 0 :(得分:0)
你有什么是迭代器模式。您正在提供可迭代的数据类型Factors
。这意味着您的代码的客户端将传递一个数字以获取所有计算的因子,然后将检索它们。
您有两个问题的方法不适合您使用 per-se ;它们不需要在计算因子的代码中使用。它们是客户端用于获取这些计算数字的接口的一部分。
你做需要实现它们,这是另一个问题。给您的主要提示是您需要跟踪用户所在的当前索引。
查看Java Iterator interface可能会有所帮助。