java实现示例——播放器管理

本文详细介绍了如何使用Java实现播放器管理功能,包括播放列表的增删查改,以及播放器中添加和删除播放列表。文章涵盖了歌曲类、播放列表类和播放器类的设计与实现,并提供了测试类的说明。
摘要由CSDN通过智能技术生成

一、需求分析


播放列表管理
  • 将歌曲添加到主播放列表
  • 将歌曲添加到普通播放列表
  • 通过歌曲id查询播放列表中的歌曲
  • 通过歌曲名称查询
  • 修改播放列表中的歌曲
  • 删除。。。。。。。。
  • 显示播放列表中的所有歌曲
播放器管理
  • 向播放器添加播放列表
  • 从播放器删除播放列表
  • 通过名字查询播放列表信息
  • 显示所有播放列表名称

二、详细设计


  • 歌曲类(Song)
  • 播放列表类(Playlist)
  • 播放器类(PlayListCollection)
  • 测试类(TestDemo)
类详细设计

1.歌曲类(Song)

  • 属性:歌曲id(id),歌曲名(name),演唱者(singer),均为字符串类型
  • 方法:
    • 构造方法
    • getter和setter
    • hashCode()和equals()
    • toString()

2.播放列表类(PlayList)

  • 属性:
    • 播放列表名称(playListName):字符串类型
    • 播放列表中的歌曲集合(musicList):List类型
  • 方法:
    • 构造方法
    • getter和setter方法
    • 将歌曲添加到播放列表:public void addToPlayList(Song song)
    • 显示播放列表中所有歌曲:public displayAllSong()
    • 通过id查询歌曲:public Song searchSongById(String id)
    • 通名称查询歌曲: public Song searchSongByName(String name)
    • 修改歌曲:public void updateSong(String id,Song song)
    • 从播放列表(通过id)删除歌曲:public void deleteSong(String id)
    • 导出所有歌曲

3、播放器类(PlayListCollection)

  • 属性:
    • 存放播放列表的集合(playListMap):Map
  • 方法:
    • 构造方法
    • getter和setter方法
    • 添加播放列表:public void addPlayList(PlayList playList);
    • 删除播放列表:public void deletePlayList(PlayList playList);
    • 通过名字查询:public PlayList searchPlayListByName(String playListName);
    • 显示所有播放列表的名称:public void displayPlayListName();

4.测试类(TestDemo)

三、代码实现


song.java

/*
* 歌曲类
*/
public class Song{
   

	private String id;//歌曲id
	private String name;//歌曲名
	private String singer;//演唱者

	public Song(){
   

	}

	public Song(String id,String name,String singer){
   
		super();
		this.id = id;
		this.name = name;
		this.singer = singer;
	}

	public String getId() {
   
		return id;
	}
 
 
	public void setId(String id) {
   
		this.id = id;
	}
 
 
	public String getName() {
   
		return name;
	}
 
 
	public void setName(String name) {
   
		this.name = name;
	}
 
 
	public String getSinger() {
   
		return singer;
	}
 
 
	public void setSinger(String singer) {
   
		this.singer = singer;
	}


	@Override
	public int hashCode() {
   
		final int prime = 31;
		int result = 1;
		result = prime * result + ((id == null) ? 0 : id.hashCode());
		result = prime * result + ((name == null) ? 0 : name.hashCode());
		result = prime * result + ((singer == null) ? 0 : singer.hashCode());
		return result;
	}
 
	@Override
	public boolean equals(Object obj) {
   
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Song other = (Song) obj;
		if (id == null) {
   
			if (other.id != null)
				return false;
		} else if (!id.equals(other.id))
			return false;
		if (name == null) {
   
			if (other.name != null)
				return false;
		} else if (!name.equals(other.name))
			return false;
		if (singer == null) {
   
			if (other.singer != null)
				return false;
		} else if (!singer.equals(other.singer))
			return false;
		return true;
	}
 
	//toString方法
	@Override
	public String toString() {
   
		return "歌曲信息 [歌曲id:" + id + ", 歌曲名称:" + name + ", 演唱者:" + singer + "]";
	}

}

Playlist.java


import com.sun.corba.se.spi.ior.ObjectKey;

import javax.swing.text.html.parser.Entity;
import java.io.File;
import java.util.*;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
/*
* 播放列表类
*/

public class PlayList{
   

	private String playListname;//播放列表名称
	public List musicList = new ArrayList();//播放列表中的歌曲合集

    public String mainName;//主播放列表名称
	public List mainList = new ArrayList();//主播放列表

	public PlayListCollection p = new PlayListCollection();

	//构造方法
	public PlayList(){
   

	}

	public PlayList(String playListname,List musicList){
   
		super();
		this.playListname = playListname;
		this.musicList = musicList;
	}

	//getter & setter
	//playlist
	public String getPlayListname() {
   
		return playListname;
	}

	public String setPlayListname(String playListname) {
   
		return this.playListname = playListname;
	}

	public List getMusicList() {
   
		return musicList;
	}

	public void setMusicList(List musicList) {
   
		this.musicList = musicList;
	}

    // mainList
	public String getMainName() {
   
		return mainName;
	}

    public String setMainName(String mainName) {
   
		return this.mainName = mainName;
	}

	public List getMainList() {
   
		return mainList;
	}

	public void setMainList(List mainList) {
   
		this.mainList = mainList;
	}

	public PlayListCollection getP(){
   
		return p;
	}

	public void setP(PlayListCollection p){
   
		this.p = p;
	}

	/*
	将歌曲添加到播放列表:public void addToPlayList(Song song)
    显示播放列表中所有歌曲:public displayAllSong()
    通过id查询歌曲:public Song searchSongById(String id)
    通名称查询歌曲: public Song searchSongByName(String name)
    修改歌曲:public void updateSong(String id,Song song)
    从播放列表(通过id)删除歌曲:public void deleteSong(String id)
    导出所有歌曲
	 */

	//将歌曲添加到播放列表:public void addToPlayList(Song song)
	public void addToPlayList(Song song,boolean state) {
   
		Scanner sc = new Scanner(System.in);
		if (state) {
   
			//如果歌曲是添加到 主列表
			String key = setMainName("main");
			System.out.println("请输入要添加的歌曲的数量:");
			int n = sc.nextInt();
			int i = 0;
			while (i < n) {
   
				//每创建一个对象,让Song的对象产生不同的id
				Song song1 = new Song();
				System.out.println("请输入第" + (i + 1) + "首歌曲的id:");
				song1.setId(sc.next());
				System.out.println("请输入第" + (i + 1) + "首歌曲的名称:");
				song1.setName(sc.next());
				System.out.println("请输入第" + (i + 1) + "首歌曲的演唱者:");
				song1.setSinger(sc.next());

				//将歌曲添加到播放列表
				mainList.
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值