关于音乐播放器

关于音乐播放器

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);
 			                  
 				             }
 				       
 				    }
 				    
 				    
 				
                    }
                 }
                   
 				    else {System.out.println("该播放列表不存在,请先将播放列表添加到播放器中!");}
 				
                         menu.playListMenu();
                         break;



当我已经输入在住播放列表已经存在的歌曲s001 怎么直接存入,而且下一次循环不出错,我的运行达不到作业要求。。。。

http://img1.sycdn.imooc.com/climg/59ef696b0001abd909130597.jpg

http://img1.sycdn.imooc.com/climg/59ef696b00015f5005930654.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你在  if( playmusic.getPlayListMap().containsKey(listname))之前遍历一下playmusic.getPlayListMap()都有什么。listname是列表的名字吧(主播放列表),而s002是歌曲id。你应该进入循环主播放列表后,找是否存在s002这样的key,你少了一级。祝:学习愉快

  • 猪哥哥呀 提问者 #1
    我的key 代表的是列表名称 value 表示该播放列表的歌曲 这样合理吗,我这样是不是无法输出该列表歌曲
    2017-10-25 11:17:29
  • 好帮手慕雪 回复 提问者 猪哥哥呀 #2
    ”key 代表的是列表名称 value 表示该播放列表的歌曲“ 没问题,关键看你的value是什么类型,是个list就可以,list里面再存放歌曲对象。如果你的value是单个的歌曲对象肯定是不合适的。一个列表肯定是有多个歌曲的。
    2017-10-25 11:29:30
  • 猪哥哥呀 提问者 回复 好帮手慕雪 #3
    那我输出get(key)的时候是地址吗,是不是还需要重写PlayList类中的toString
    2017-10-25 11:48:53
提问者 猪哥哥呀 2017-10-25 09:19:57

求老师帮忙看下

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师