ADT测试程序的整数列表

时间:2016-04-24 22:15:02

标签: java list adt

我是否可以在任何地方找到一个ADT整数列表,我可以用它来测试我为分配问题编写的这个程序?或者有人可以告诉我如何制作一个或为我提供一个,我们将不胜感激!

 /**
  * Finds the Max integer from the ADT list of integers
  * 
  * @author (Siren P) 
  * @version (03/12/2016)
  */
  public class MaxIntegers
  {
    public int maxInt (ListReferenceBased aList)
    {
    //Declare variable for max integer
    int max; 

    //Checks every integer in list 
    for(int i = 0 ; i <= aList.size(); i++)
    {
        if(i == 0)
        {
            //first element stored as max
            max = aList.get(i);
        }
        else
        {
            if(aList.get(i) > max)
            {
                //if element is bigger than current stored element then it will be overwritten
                max = aList.get(i);
            }
        }
    }
    //Returns the max integer
    return max;
}

}

2 个答案:

答案 0 :(得分:0)

您可以使用ArrayList:

java.util.List<Integer> aList = new java.util.ArrayList<Integer>();

// add some ints to the list
aList.add(1);
aList.add(2);
aList.add(3);
aList.add(4);

答案 1 :(得分:0)

我们需要ListReferenceBase类的代码来构建列表。我的猜测是它有点LinkedList,但我不知道该课程提供的功能。

可能这样的东西会起作用(把它放在你的MaxIntegers课程中)

public static void main(String[] args) {
    MaxIntegers test = new MaxIntegers();
    ListReferenceBased testlist = new ListReferenceBased();
    testlist.add(5);
    testlist.add(2);
    testlist.add(55);
    System.out.println(maxInt(testlist));
}

除了一些旁注:

  • 您应该将方法maxInt声明为static。这意味着你不需要一个对象来调用该方法(在这种情况下,没有理由你需要一个,这就是为什么你应该让它static。)
  • 您的代码可能无法正常工作。如果(并且很可能)ListReferenceBased将索引从0开始,那么for循环(i <= list.size())的条件将会过长。正确的方法是i < list.size()

如果没有ListReferenceBased的实施,并且它只是一个占位符,您可以在您的班级和我的示例中将其与#Linked;&#39;例如。也可以编写List<Integer>代替,你可以允许将所有类型的列表传递给方法,他们只需要实现java.util.List接口。