Java解密UML图

时间:2015-11-06 05:59:19

标签: java class-diagram

enter image description here

我必须编写一个程序来计算数字的素因子。我已经完成了算法,我只是没有看到如何使用方法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)

1 个答案:

答案 0 :(得分:0)

你有什么是迭代器模式。您正在提供可迭代的数据类型Factors。这意味着您的代码的客户端将传递一个数字以获取所有计算的因子,然后将检索它们。

您有两个问题的方法不适合您使用 per-se ;它们不需要在计算因子的代码中使用。它们是客户端用于获取这些计算数字的接口的一部分。

需要实现它们,这是另一个问题。给您的主要提示是您需要跟踪用户所在的当前索引。

查看Java Iterator interface可能会有所帮助。