У меня есть тестовый файл вместе с файлом методы, которые я тестирую. Проблема связана с тем, что мой метод addOnce() возвращает проанализированный узел вместо первого вхождения. пытаюсь избежать
"Ошибка: начальный элемент не был возвращен для строки кода " + результат"
вот тестовый блок кода, редактирование не требуется
Код: Выделить всё
import java.util.Iterator;
public class OrderedListTest {
static private class Courses implements Comparable{
String rubric;
int number;
int occurance;
public Courses(String rub, int num, int occ) {
rubric = rub;
number = num;
occurance = occ;
}
public int compareTo(Courses other) {
if (rubric.compareTo(other.rubric) < 0)
return -1;
else if (rubric.compareTo(other.rubric) > 0)
return 1;
else
return number - other.number;
}
public String toString() {
return rubric + " " + number;
}
}
public static void main(String[] args) {
Courses listOfCourses[] = {
new Courses("COSC", 2436, 1),
new Courses("ITSE", 2409, 1),
new Courses("COSC", 1436, 1),
new Courses("ITSY", 1300, 1),
new Courses("ITSY", 1300, 2),
new Courses("COSC", 1436, 2),
new Courses("COSC", 2436, 2),
new Courses("ITSE", 2417, 1),
new Courses("ITNW", 2309, 1),
new Courses("CPMT", 1403, 1),
new Courses("CPMT", 1403, 2)};
OrderedAddOnce orderedList = new OrderedAddOnce();
Courses result;
for (int i = 0; i < listOfCourses.length; i++){
result = orderedList.addOnce(listOfCourses[i]);
if (result == null)
System.out.println("Error: findOrAdd returned null for " +
listOfCourses[i]);
else {
if (result.occurance != 1)
System.out.println("Error: The initial item was not returned for " + result);
if (result.compareTo(listOfCourses[i]) != 0)
System.out.println("Error: " + listOfCourses[i] + " was passed to findOrAdd but " + result + " was returned");
}
}
Iterator classIter = orderedList.iterator();
while(classIter.hasNext()) {
System.out.println(classIter.next());
}
// There should be 7 courses listed in order
}
}
Код: Выделить всё
import java.util.Iterator;
import java.util.NoSuchElementException;
/**
*
* @author User
*/
// Interface for COSC 2436 Labs 3 and 4
/**
* @param The class of the items in the ordered list
*/
interface AddOnce
Подробнее здесь: [url]https://stackoverflow.com/questions/78242201/what-line-of-code-do-i-change-to-avoid-duplication-in-a-linked-list[/url]