我是靠谱客的博主 甜蜜早晨,这篇文章主要介绍Java播放器管理 基础作业Java播放器管理需求分析详细设计代码实现,现在分享给大家,希望可以做个参考。

Java播放器管理


文章目录

  • Java播放器管理
    • @[TOC](文章目录)
  • 需求分析
  • 详细设计
  • 代码实现

需求分析

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

详细设计

  • 类:

  • 歌曲类( Song )

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

    • 属性:
      • 播放列表名称( playListName ) : 字符串类型
      • 播放列表中的歌曲集合( musicList ) : List类型
    • 方法:
      • 构造方法
      • getter和setter方法
      • 将歌曲添加到播放列表: public void addToPlayList(Song song);
      • 显示播放列表中所有歌曲: public void displayAllSong0;
      • 通过id查询歌曲: public Song searchSongById(String id);
      • 通过歌曲名称查询歌曲: public Song searchSongById(String n);
      • 修改歌曲: public void updateSong(Stirng id,Song song);
      • 从播放列表删除歌曲: public void deleteSong(String id);
      • 按歌曲名进行排序: public void sortBySongName0;
  • 播放器类( PlayListCollection )

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

代码实现

  • PlayList
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package may11.player; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 播放列表类 * @author zzh */ public class PlayList { // 属性 private String playListName; private List<Song> musicList; //方法 public PlayList(){} /** * 构造方法 * @param playListName */ public PlayList(String playListName) { this.playListName = playListName; musicList=new ArrayList<Song>(); } public String getPlayListName() { return playListName; } public void setPlayListName(String playListName) { this.playListName = playListName; } public List<Song> getMusicList() { return musicList; } public void setMusicList(List<Song> musicList) { this.musicList = musicList; } /** * 将歌曲添加到列表 * @param song */ public void addToPlayList(Song song){ boolean flag=false; for (Song song1:musicList){ if (song1.equals(song)){ flag=true; break; } } if (flag){ System.out.println("该歌曲已经存在!"); }else { musicList.add(song); } } /** * 显示列表所有歌曲 */ public void displayAllSong(){ System.out.println("播放列表所有歌曲:"); for (Song song:musicList){ System.out.println(song); } } /** * 提高Id查询 * @param id * @return */ public Song searchSongById(String id){ for (Song song:musicList){ // id唯一 if (song.getId().equals(id)){ return song; } } return null; } public Song searchSongByName(String name){ for (Song song:musicList){ if (song.getName().equals(name)){ return song; } } return null; } /** * 修改歌曲信息 * @param id * @param song */ public void updateSong(String id,Song song){ Song song1=searchSongById(id); if (song1==null){ System.out.println("not find"); }else { musicList.remove(song1); musicList.add(song); System.out.println("modify success"); } } public void deleteSong(String id){ Song song=searchSongById(id); if (song==null){ System.out.println("not find music"); }else { musicList.remove(song); System.out.println("delete success"); } } public void sortBySongName(){ } }
  • Song
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package may11.player; import java.util.Objects; /** * 歌曲类 * @author zzh */ public class Song { // 属性 private String id; private String name; private String singer; //方法 public Song(){} public Song(String id, String name, String singer) { 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 String toString() { return "Song{" + "id='" + id + ''' + ", name='" + name + ''' + ", singer='" + singer + ''' + '}'; } @Override public boolean equals(Object o) { // 判断对象是否相等 if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; // 强制转换 Song song = (Song) o; return Objects.equals(id, song.id) && Objects.equals(name, song.name) && Objects.equals(singer, song.singer); } @Override public int hashCode() { return Objects.hash(id, name, singer); } }
  • PlayListCollection 未完成,只做了部分功能。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package may11.player; import java.util.HashMap; import java.util.Map; import java.util.Set; /** * 播放列表集合 * @author zzh */ public class PlayListCollection { // 属性 private Map<String,PlayList> playListMap; // 存放播放列表集合 //method public PlayListCollection(){ playListMap=new HashMap<String,PlayList>(); } public Map<String, PlayList> getPlayListMap() { return playListMap; } public void setPlayListMap(Map<String, PlayList> playListMap) { this.playListMap = playListMap; } /** * 添加播放列表 * @param playList */ public void addPlayList(PlayList playList) { // 播放列表名称作为Key playListMap.put(playList.getPlayListName(),playList); } /** * delete 播放列表 * @param playList */ public void deletePlayList(PlayList playList) { playListMap.remove(playList.getPlayListName()); System.out.println("delete success!"); } /** * 通过名称查询列表 * @param playListName * @return */ public PlayList searchPlayListByName(String playListName) { PlayList playList=null; Set<String> playListSet=playListMap.keySet(); for (String s:playListSet){ if (s.equals(playListName)){ playList=playListMap.get(s); break; } } return playList; } /** * 显示列表信息 */ public void displayPlayListName(){ System.out.println("播放列表集合"); Set<String> listSet=playListMap.keySet(); for (String s:listSet){ System.out.println(s); } } }
  • TestDemo
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
package may11.player; import java.util.Scanner; public class TestDemo { // 对歌曲类进行测试 public void testSong() { Song song = new Song("s001", "hello", "adaier"); Song song2 = new Song("s002", "hello2", "adaier2"); Song song3 = new Song("s003", "hello3", "adaier3"); Song song4 = new Song("s003", "hello3", "adaier3"); System.out.println(song); System.out.println("song1==song3:" + (song.equals(song3))); System.out.println("song3==song4:" + (song3.equals(song4))); } // 对播放列表PlayList测试 public void testPlayList() { Song song = new Song("s001", "hello", "adaier"); Song song2 = new Song("s002", "hello2", "adaier2"); Song song3 = new Song("s003", "hello3", "adaier3"); PlayList mainPlatList = new PlayList("主播放列表"); mainPlatList.addToPlayList(song); mainPlatList.addToPlayList(song2); mainPlatList.addToPlayList(song3); mainPlatList.addToPlayList(song3); mainPlatList.displayAllSong(); // 通过ID查询 System.out.println("***********************************************"); Song song1 = mainPlatList.searchSongById("s002"); if (song1 != null) { System.out.println(song1); } else { System.out.println("歌曲不存在"); } // 通过名称查询 System.out.println("***********************************************"); song1 = mainPlatList.searchSongByName("hello5"); if (song1 != null) { System.out.println(song1); } else { System.out.println("歌曲不存在"); } // 修改歌曲 System.out.println("************************************************"); Song song4 = new Song("s004", "hello4", "adaier4"); mainPlatList.updateSong("s003", song4); mainPlatList.displayAllSong(); // delete song System.out.println("************************************************"); mainPlatList.deleteSong("s004"); mainPlatList.displayAllSong(); System.out.println("************************************************"); } // 测试播放列表集合 public void testPlayListCollection() { Song song = new Song("s001", "hello", "adaier"); Song song2 = new Song("s002", "hello2", "adaier2"); Song song3 = new Song("s003", "hello3", "adaier3"); // 创建主播放列表 PlayList mainPlayList = new PlayList("主播放列表"); mainPlayList.addToPlayList(song); mainPlayList.addToPlayList(song2); mainPlayList.addToPlayList(song3); // 定义新的播放列表 PlayList favouritePlayList = new PlayList("favourite"); favouritePlayList.addToPlayList(mainPlayList.getMusicList().get(0)); favouritePlayList.addToPlayList(mainPlayList.getMusicList().get(1)); favouritePlayList.displayAllSong(); System.out.println("************************************************"); // 将2个播放列表添加进集合中 PlayListCollection plc = new PlayListCollection(); plc.addPlayList(mainPlayList); plc.addPlayList(favouritePlayList); plc.displayPlayListName(); System.out.println("************************************************"); PlayList pl = plc.searchPlayListByName("favourite"); pl.displayAllSong(); System.out.println("************************************************"); // 删除 plc.deletePlayList(favouritePlayList); plc.displayPlayListName(); } // 主菜单 public void mianMenu() { System.out.println("*********************************************"); System.out.println(" ** main ** "); System.out.println(" 1--播放列表管理"); System.out.println(" 2--播放器管理"); System.out.println(" 0--退出"); } // 播放列表管理菜单 public void playListMenu() { System.out.println("*******************************************************"); System.out.println(" **播放列表管理** "); System.out.println(" 1--将歌曲添加到主播放列表 "); System.out.println(" 2--将歌曲添加到普通播放列表 "); System.out.println(" 3--通过歌曲id查询播放列表中的歌曲 "); System.out.println(" 4--通过歌曲名称查询播放列表中的歌曲 "); System.out.println(" 5--修改播放列表中的歌曲 "); System.out.println(" 6--删除播放列表中的歌曲 "); System.out.println(" 7--显示播放列表中的所有歌曲 "); System.out.println(" 9--返回上一级菜单 "); System.out.println("*******************************************************"); } // 播放器菜单 public void playerMenu() { System.out.println("*******************************************************"); System.out.println(" **播放器管理** "); System.out.println(" 1--向播放器添加播放列表 "); System.out.println(" 2--从播放器删除播放列表 "); System.out.println(" 3--通过名字查询播放列表信息 "); System.out.println(" 4--显示所有播放列表名称 "); System.out.println(" 9--返回上一级菜单 "); System.out.println("*******************************************************"); } // 主流程 public void test() { TestDemo td = new TestDemo(); Scanner sc = new Scanner(System.in); int input1, input2, input3; // 创建播放列表容器 PlayListCollection plc = new PlayListCollection(); //创建主播放列表 PlayList mainPlayList = new PlayList("主播放列表"); PlayList favouritePlayList = null; plc.addPlayList(mainPlayList); while (true) { td.mianMenu(); System.out.println("请输入对应数字进行操作:"); input1 = sc.nextInt(); if (input1 == 0) { break; } switch (input1) { case 1: while (true) { td.playListMenu(); System.out.println("请输入对应数字进行操作:"); input2 = sc.nextInt(); if (input2 == 9) break; switch (input2) { case 1: System.out.println("将歌曲添加到主播放列表"); System.out.println("请输入要添加的歌曲的数量:"); int count = sc.nextInt(); for (int i = 1; i <= count; i++) { System.out.println("请输入第" + i + "首歌曲:"); System.out.println("请输入歌曲的id:"); String strId = sc.next(); System.out.println("请输入歌曲的名称:"); String strName = sc.next(); System.out.println("请输入演唱者:"); String strSinger = sc.next(); //创建歌曲类的对象 Song song = new Song(strId, strName, strSinger); mainPlayList.addToPlayList(song); mainPlayList.displayAllSong(); } break; case 2: System.out.println("将歌曲添加到普通播放列表"); System.out.println("请输入要添加的播放列表名称:"); String sName = sc.next(); //根据名称判断播放列表是否在播放器中存在 favouritePlayList = plc.searchPlayListByName(sName); if (favouritePlayList == null) { System.out.println("该播放列表不存在,请先将播放列表添加到播放器中!"); } else { System.out.println("请输入要添加的歌曲的数量:"); int count1 = sc.nextInt(); for (int i = 1; i <= count1; i++) { System.out.println("请输入第" + i + "首歌曲:"); System.out.println("请输入歌曲id:"); String strId = sc.next(); //首先判断该id的歌曲是否在主播放列表存在 Song song = mainPlayList.searchSongById(strId); if (song == null) { //如果歌曲不存在,则创建新的添加,并且添加到主播放列表 System.out.println("该歌曲在主播放列表不存在,继续输入歌曲的其他信息!"); System.out.println("请输入歌曲名称:"); String strName = sc.next(); System.out.println("请输入演唱者:"); String strSinger = sc.next(); //创建一个Song类的对象 song = new Song(strId, strName, strSinger); //分别将歌曲添加到普通播放列表和主播放列表 favouritePlayList.addToPlayList(song); mainPlayList.addToPlayList(song); } else { //如果歌曲存在于主播放列表,则直接添加到现在的播放列表 favouritePlayList.addToPlayList(song); } } //显示播放列表中的歌曲信息 System.out.println("主播放列表:"); mainPlayList.displayAllSong(); System.out.println("普通播放列表:"); favouritePlayList.displayAllSong(); } break; } } break; case 2: while (true) { td.playerMenu(); System.out.println("请输入对应数字进行操作:"); input3 = sc.nextInt(); if (input3 == 9) break; switch (input3) { case 1: } } break; default: System.out.println("没有对应的操作!"); } } } public static void main(String[] args) { TestDemo testDemo = new TestDemo(); // testDemo.testSong(); // testDemo.testPlayList(); // testDemo.testPlayListCollection(); testDemo.test(); } }

最后

以上就是甜蜜早晨最近收集整理的关于Java播放器管理 基础作业Java播放器管理需求分析详细设计代码实现的全部内容,更多相关Java播放器管理内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(78)

评论列表共有 0 条评论

立即
投稿
返回
顶部