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