【发布时间】:2016-03-18 23:12:59
【问题描述】:
我们的老师给了我们一个新任务,但不知何故我无法找出问题所在。
有 3 个不同的 java 类,我只能更改 ToDoList 类。在那里,我想添加一个新列表,以便主类能够将新项目添加到我的待办事项列表中。正如您在下面看到的,我尝试初始化一个新列表,但没有奏效。
我的错误在哪里?
public class ToDoListEntry {
String task;
LocalDate date;
ToDoListEntry next;
public ToDoListEntry(LocalDate date, String task) {
this.task = task;
this.date = date;
}
}
接下来是我尝试添加一个数组但不起作用的地方:
public class ToDoList {
ToDoListEntry first;
public ArrayList<ToDoListEntry> todolist;
public ToDoList (){
todolist = new ArrayList<ToDoListEntry>();
}
public void add(ToDoListEntry newTask) {
todolist.add(newTask);
}
public String print() {
String result = "";
if (first == null) {
result = "Empty list!\n";
} else {
ToDoListEntry pointer = first;
while (pointer != null) {
result += "Until " + pointer.date + " Task: "
+ pointer.task +"\n";
pointer = pointer.next;
}
}
System.out.println(result);
return result;
}
}
最后,主类应该创建一个新的 ToDo List 并打印出来(注意我没有包含 print() 方法):
public static void main(String[] args) {
System.out.println("Test 00: Empty List");
ToDoList list2016 = new ToDoList();
list2016.print();
System.out.println("Test 01: add");
list2016.add(new ToDoListEntry(LocalDate.of(2016, 8, 15), "Do workout"));
list2016.add(new ToDoListEntry(LocalDate.of(2016, 6, 3), "Buy apples"));
list2016.add(new ToDoListEntry(LocalDate.of(2016, 10, 11), "Read Books"));
list2016.print();
【问题讨论】:
-
你导入了吗?请发布错误。
-
您可以将您提到的错误添加到您的帖子中吗?
-
定义“不起作用”。恰恰。您收到的错误信息是什么?另外,鉴于 ToDoListEntry 有一个名为
next的 ToDoListEntry 类型的字段,我认为您不应该使用 ArrayList,而是将条目相互链接(即了解链表的原理)。跨度> -
好的,很抱歉将其称为错误!到目前为止,我没有收到任何错误,但问题是所有三个待办事项都没有添加到我的待办事项列表中。为此,我不明白为什么不能添加这些。
-
@Tom 你说得对 ;)
标签: java arrays class linked-list