创建一个具有Notes类的链接列表,该类基本上是一个包含NotePages的对象,NotePages是另一个类,该类包含“标题”和描述的字符串。 Notes类扩展了另一个类,它是前面提到的LinkedList类。问题是,当我尝试打印出带有便笺页面的便笺时,显示如下:
Note one
[]
分配在对象中显示的内容如下:
NotePages page = new NotePages("title one", "Description");
Notes note = new Notes("Note one", page);
note.printNote();
我尝试创建其他方法,例如String方法,以尝试使页面正确返回无济于事。
这是我的Notes对象代码。
public class Notes extends LinkedList{
private String title;
private LinkedList<NotePages> pages;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public LinkedList<NotePages> getPages() {
return pages;
}
public void setPages(LinkedList<NotePages> pages) {
this.pages= pages;
}
public Notes(String title, LinkedList<NotePages> pages) {
this.title = title;
this.pages= pages;
}
void printNote(){
System.out.println(getTitle()+"\n"+getPages());
}
}
我需要显示器输出更接近此内容的东西:
Note one
title one
description
这是NotePages类:
import java.awt.*;
public class NotePages {
private String title;
private String description;
private Color label;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public Color getLabel() {
return label;
}
public void setLabel(Color label) {
this.label = label;
}
NotePages(String title, String description, Color label){
this.title = title;
this.description = description;
this.label = label;
}
NotePages(String title,String description){
this.title = title;
this.description = description;
}
void printPage(){
System.out.println(getTitle() + "\n "+ getDescription());
}
}
答案 0 :(得分:2)
需要在printNote函数中进行更改。
初始化Notes的构造函数时,会使用NotePage LinkedList初始化 pages 变量。 页面不直接包含值。它包含NotePage的对象。因此,您需要使用循环遍历所有linkedList对象,然后为每个对象打印标题和描述。
void printNote(){
System.out.println(getTitle());
//no need to use getPages function, pages already has your list
for(int i=0; i<pages.size();i++)
System.out.println(pages.get(i).getTitle()+"\n"+pages.get(i).getDescription());
}
get函数将帮助您在每个ith索引处获取对象,然后只需使用NotePage类的get函数来打印标题和描述。
还可以通过in main函数将一个LinkedList对象添加到Note的构造函数中,而不是NotePage中。
LinkedList<NotePages> notelist = new LinkedList<>();
notelist.add(page);
//adding LinkedList object to Notes constructor
Notes note = new Notes("Note one", notelist);