第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(); } }