第4周编程题
返回
提交作业(剩余11天)
完成并提交作业
作业批改
互评作业
自评作业
成绩公布
查看成绩
本周的编程题以互评的方式批改。注意因为是互评的,所以作业的完成时间很短,只有3周。请务必在三周内完成。
依照学术诚信条款,我保证此回答为本人原创,所有回答中引用的外部材料已经做了出处标记。
1
(5分)
本周我们介绍了以继承方式实现的媒体资料库,在课程代码实现的基础上,请实现一个表达MP3的媒体类型,能和CD、DVD一样存放进这个Database。请提交这个MP3类的代码。如果你认为为了能存放MP3,需要修改Item和Database,也请一并提交Item和Database的代码。
答案内容超过5000字建议使用附件形式上传
import java.util.ArrayList;
class Item {
private String title;
private int playTime;
private boolean gotIt = false;
private String comment;
public Item(String title, int playTime, boolean gotIt, String comment) {
super();
this.title = title;
this.playTime = playTime;
this.gotIt = gotIt;
this.comment = comment;
}
public void print() {
System.out.print(title + ":" + playTime + ":" + gotIt + ":" + comment);
}
}
class MP3 extends Item {
private String artist;
private int numofTracks;
public MP3(String title, int playTime, boolean gotIt, String comment, String artist, int numofTracks) {
super(title, playTime, gotIt, comment);
this.artist = artist;
this.numofTracks = numofTracks;
}
public void print() {
System.out.print("MP3:");
super.print();
System.out.println(":" + artist + ":" + numofTracks);
}
}
public class Database {
private ArrayList listItem = new ArrayList();
public void add(Item item) {
listItem.add(item);
}
public void list() {
for (Item item : listItem) {
item.print();
}
}
public static void main(String[] args) {
Database db = new Database();
db.add(new MP3("Jay (album)", 42, true, "2000", "Jay Chou", 10));
db.add(new MP3("Fantasy (Jay Chou album)", 42, true, "2001", "Jay Chou", 10));
db.add(new MP3("The Eight Dimensions", 42, true, "2002", "Jay Chou", 10));
db.list();
}
}