2016-04-24 5 views
-2

Есть ли где-нибудь я могу найти список целых чисел 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; 
} 

}

ответ

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); 
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 и это просто заполнитель, вы можете поменять местами, что в вашем классе и мой пример с «LinkedList», например. Также можно было бы написать List<Integer>, что бы вы разрешили передавать все виды списков методу, им просто нужно реализовать интерфейс java.util.List.