【摘录】音乐播放器案例

一、介绍

一个音乐系统,系统内维护一个播放的音乐列表,提供音乐播放的功能,用户可以改变音乐播放的顺序。

二、类图


三、实现

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

四、运行


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值