一、介绍
一个音乐系统,系统内维护一个播放的音乐列表,提供音乐播放的功能,用户可以改变音乐播放的顺序。
二、类图
三、实现
(1)Music类
package com.hnevc.musicplayer;
public class Music {
String singer;
String name;
String type;
public Music() {
// TODO Auto-generated constructor stub
}
public Music(String singer,String name,String type){
this.singer = singer;
this.name = name;
this.type = type;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return singer+"-" + name+"-"+type;
}
}
(2)MusicSystem类
package com.hnevc.musicplayer;
import java.util.ArrayList;
public class MusicSystem {
//定义musicList保存歌曲列表
ArrayList<Music> musicList = new ArrayList();
public MusicSystem() {
// TODO Auto-generated constructor stub
}
public MusicSystem(ArrayList<Music> musicList) {
this.musicList = musicList;
}
public void shiftTop(Music music){
musicList.remove(music);
musicList.add(0, music);
}
public void shiftBottom(Music music){
musicList.remove(music);
musicList.add(music);
}
public void shiftUp(Music music){
int index = musicList.indexOf(music);
musicList.remove(music);
index = index>0?index-1:0;
musicList.add(index,music);
}
public void shiftDown(Music music){
int index = musicList.indexOf(music);
index = index<musicList.size()-1?index+1:musicList.size();
musicList.remove(music);
musicList.add(index,music);
}
public void showMusic(){
System.out.println(musicList);
}
public Music findMusic(String name){
for(Music m : musicList){
if(m.name .equals(name)){
return m;
}
}
return null;
}
}
(3)Test类
package com.hnevc.musicplayer;
public class Test {
public static void main(String[] args) {
//实例化音乐系统
MusicSystem musicSystem = new MusicSystem();
//初始化数据
intitData(musicSystem);
//显示音乐列表
musicSystem.showMusic();
//根据歌名获取音乐
Music music = musicSystem.findMusic("带刺的玫瑰");
//将音乐移动到底部
musicSystem.shiftBottom(music);
//显示音乐列表
musicSystem.showMusic();
}
private static void intitData(MusicSystem musicSystem) {
// TODO Auto-generated method stub
Music music = new Music("张含韵","我的中国心","美声");
musicSystem.musicList.add(music);
music = new Music("理想","爱我中华","美声");
musicSystem.musicList.add(music);
music = new Music("那英","带刺的玫瑰","流行歌曲");
musicSystem.musicList.add(music);
music = new Music("张杰","忐忑","流行歌曲");
musicSystem.musicList.add(music);
music = new Music("谢娜","天下归一","流行歌曲");
musicSystem.musicList.add(music);
music = new Music("张杰","一个万个为什么","流行歌曲");
musicSystem.musicList.add(music);
}
}
四、运行