第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<Item> listItem = new ArrayList<Item>();
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();
}
}
