【发布时间】:2014-10-07 00:10:59
【问题描述】:
请原谅我的格式,我是编码和这些板的新手。我正在尝试制作一个简单的待办事项列表作为java中的练习。它从文本文件中读取和解析数据,然后对其进行排序和打印。
我的输出如下所示: [ToDoList003_002.ToDo@4cc7014c] 输出应该是这样的:[get milk,important,highpriority,urgent]
package ToDoList003_002;
import java.util.*;
import java.io.*;
public class ToDoList002 {
ArrayList<ToDo> toDoList=new ArrayList<ToDo>();
public static void main(String[] args) {
new ToDoList002().go();
}//close main
public void go(){
getItems();
Collections.sort(toDoList); //002
System.out.println(toDoList);
}
void getItems(){
try{
File file=new File("/Users/lew/Dropbox/JAVA/CodePractice/src/ToDoList003_002/todolist.txt");
BufferedReader reader = new BufferedReader (new FileReader(file));
String line=null;
while ((line=reader.readLine()) !=null){
addItem(line);
}
}catch(Exception ex){
ex.printStackTrace();
}
}
void addItem(String lineToParse){
String[] tokens=lineToParse.split("/");
//toDoList.add(tokens[0]);
//toDoList.add(tokens[1]);
ToDo nextTodo= new ToDo(tokens[0], tokens[1],tokens[2],tokens[3]);
toDoList.add(nextTodo);
}
//private static void add(String string) {
// TODO Auto-generated method stub
}
package ToDoList003_002;
import java.util.ArrayList;
public class ToDo implements Comparable<ToDo>{
String detail;
String importance;
String priority;
String urgency;
public int compareTo (ToDo d){
return detail.compareTo(d.getDetail());
}
ToDo(String d, String i, String p, String u){
detail=d;
importance=i;
priority=p;
urgency=u;
//set variables in constructor
}
public String getDetail(){
return detail;
}
public String getImportance(){
return importance;
}
public String getPriority(){
return priority;
}
public String getUrgency(){
return urgency;
public String toString(){
return detail;
}
【问题讨论】:
-
该代码似乎在
ToDo类中包含toString()方法,但由于语法错误,不能复制粘贴实际代码。 -
到目前为止我已经尝试了 6 个答案,而那些编译的答案仍然给我哈希值。我注意到我在 Eclipse 中的 toString() 上遇到了一些错误:此行有多个标记.....语法错误,插入 enumbody 以完成块语句....语法错误令牌“字符串”@预期...语法错误, 插入“枚举标识符”以完成 enumHeaderName
-
好吧,我真的仔细看了一遍,发现一个杂散的括号影响了我的 tostring。修复后,覆盖帮助了谢谢!