向普通播放列表中添加歌曲
package com.imooc.music; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Scanner; //播放列表类 public class PlayList { // 成员属性:播放列表名称,播放列表中的歌曲集合; private String playListName;//即为:播放列表的名称 private List <Song>musiclist=new ArrayList<Song>(); //即为:播放列表的歌曲集合 Scanner sc=new Scanner(System.in); // 创建无参构造 public PlayList() { } // 创建带参构造对成员属性进行赋值操作 public PlayList(String playListName ) { this.setPlayListName(playListName); } public PlayList(String playListName, List<Song> musiclist) { this.setPlayListName(playListName); this.setMusiclist(musiclist); } // 相应的getter和setter方法 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; } // 创建方法:将歌曲添加到播放列表; public void addToPlayList(Song song) { Iterator<Song> it=this.getMusiclist().listIterator(); boolean flag=false; while(it.hasNext()) { if(it.next().getId().equals(song.getId())) { flag=true; continue; } } if(flag) { System.out.println("不能添加相同id的歌曲!"); System.out.println("该歌曲未能加入播放列表中!"); } else { this.getMusiclist().add(song); } } // 创建方法:显示播放列表中的所有歌曲; public void displayAllSong() { Iterator<Song> it=this.getMusiclist().listIterator(); while(it.hasNext()) { System.out.println(it.next()); } } // 创建方法:通过id查询歌曲: public Song searchSongById(String id) { boolean flag=false; Song song=null; Iterator<Song> it=this.getMusiclist().listIterator(); while(it.hasNext()) { song=(Song)it.next(); if(song.getId().equals(id)) { flag=true; break; } } if(flag) { System.out.println(song); } else { song=null; System.out.println("该歌曲未找到"); } return song; } // 创建方法:通过名称查询歌曲 public Song searchSongByName(String n) { boolean flag=false; Song song=null; Iterator<Song> it=this.getMusiclist().listIterator(); while(it.hasNext()) { song=(Song)it.next(); if(song.getName().equals(n)) { flag=true; break; } } if(flag) { System.out.println(song); } else { song=null; System.out.println("该歌曲未找到"); } return song; } // 创建方法:修改歌曲 public void updateSong(Song song) { System.out.println("请输入要修改歌曲的id:"); String n=sc.next(); Iterator<Song> it=this.getMusiclist().listIterator(); while(it.hasNext()) { song=(Song)it.next(); if(song.getId().equals(n)) { System.out.println("请输入修改后的歌曲名称:"); String m=sc.next(); System.out.println("请输入修改后的歌曲演唱者:"); String s=sc.next(); song.setName(m); song.setSinger(s); System.out.println("修改成功!"); break; } } } // 创建方法:从播放列表删除歌曲 public void deleteSong(String id) { Iterator<Song> it=this.getMusiclist().listIterator(); while(it.hasNext()) { if(it.next().getId().equals(id)) { it.remove(); break; } } } // 创建方法:显示播放列表中的所有歌曲 public void displayAllsong() { Iterator<Song> it=this.getMusiclist().listIterator(); while(it.hasNext()) { System.out.println(it.next()); } } // 创建方法:导出歌单 public void exportPlayList() { } @Override public String toString() { return " musiclist + "; } } package com.imooc.music; import java.util.Iterator; import java.util.Map.Entry; import java.util.Scanner; import java.util.Set; public class TestDemo { public static void main(String[] args) { PlayList playlist=new PlayList("主播放列表");//创建主播放列表 PlayListCollection playmusic=new PlayListCollection(); playmusic.getPlayListMap().put("主播放列表", playlist);//将主播放列表加入到播放器中; PlayList playlist1=null;//创建普通播放列表 Menu menu=new Menu(); Song song=null; Scanner sc=new Scanner(System.in); boolean flag=false; menu.mainMenu(); while(!flag) { boolean flag1=false; boolean flag2=false; System.out.println("请输入对应数字进行操作:"); int x=sc.nextInt(); switch(x) { case 1:menu.playListMenu();break; case 2:menu.playMenu();break; case 0: System.out.println("欢迎下次光临!");System.exit(0); } if(x==1) { while(!flag1) { System.out.println("请输入对应数字进行操作:"); int y=sc.nextInt(); switch(y) { case 1:System.out.println("将歌曲添加到主播放列表"); System.out.println("请输入要添加歌曲的数量:"); int m=sc.nextInt(); for(int i=0;i<m;i++) {song=new Song(); System.out.println("请输入第"+(i+1)+"歌曲:"); System.out.println("请输入歌曲的id:"); String id=sc.next(); System.out.println("请输入歌曲的名称:"); String name=sc.next(); System.out.println("请输入演唱者:"); String singername=sc.next(); song.setId(id); song.setName(name); song.setSinger(singername); playlist.addToPlayList(song);} menu.playListMenu();break; case 2:System.out.println("将歌曲添加到普通的播放列表"); System.out.println("请输入要添加的播放列表名称:"); String listname=sc.next(); if( playmusic.getPlayListMap().containsKey(listname)) { System.out.println("请输入要添加歌曲的数量:"); int k=sc.nextInt(); for(int i=0;i<k;i++) { song=new Song(); System.out.println("请输入第"+(i+1)+"歌曲:"); System.out.println("请输入歌曲的id:"); String id=sc.next(); Iterator<Song> it=playlist.getMusiclist().iterator(); while(it.hasNext()) { if(it.next().getId().equals(id)){ song=it.next(); playlist1.addToPlayList(song); break; } else { System.out.println("该歌曲在主播放列表不存在,请继续输入歌曲的其他信息"); System.out.println("请输入歌曲的名称:"); String name=sc.next(); System.out.println("请输入演唱者:"); String singername=sc.next(); song.setId(id); song.setName(name); song.setSinger(singername); playlist1.addToPlayList(song); playlist.addToPlayList(song); } } } //输出该播放器和主播放器中的歌曲 Set<String>keySet=playmusic.getPlayListMap().keySet(); for(String key:keySet) { System.out.println(playmusic.getPlayListMap().get(key)); } } else {System.out.println("该播放列表不存在,请先将播放列表添加到播放器中!");} menu.playListMenu(); break;
49
收起
正在回答
3回答
第一次肯定是不存在的。 if( playmusic.getPlayListMap().containsKey(listname))表示存在,所以你的else{人为的添加上这个列表。自己new一个List,把歌曲添加到这个list以后,再把它放在 playmusic.getPlayListMap()中}祝:学习愉快
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星