向播放器添加列表

向播放器添加列表

http://img1.sycdn.imooc.com/climg//58e5bd890001ddfd04780335.jpg

//PlaylistCollection  
public void addplaylist(Playlist playlist){
	
    System.out.println("输入要添加的播放列表名称");
    Scanner s=new Scanner(System.in);
    String lis=s.next();
    Playlist playList1=new Playlist(lis);
    playlistmap.put(lis,playList1);
}
// Test
public void playlistMenu(){
	 PlaylistCollection play=new PlaylistCollection(null);//实例化播放器
     Playlist playList=new Playlist(null);//普通播放列表对象
     Playlist a1=new Playlist(null);//主播放列表对象
     while(true){
      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("8,导出歌单");
      System.out.println("9,返回上一级菜单");
      System.out.println("---------------------------------------");
      System.out.println("请输入对应的数字对播放列表进行管理:");
      Scanner s=new Scanner(System.in);
      int n=s.nextInt();
      switch(n){
      case 1:
           System.out.println("将歌曲添加带主播放列表");
          
           a1.addToPlayList();
           break;

我用Debug  运行了  是在   playlistmap.put(lis,playList1);    这儿抛出的异常, 请问老师 怎么改

正在回答

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

4回答

你好!我想知道一下你PlayListCollection和PlayList类中的构造方法是怎么写的,当时为什么要有个参数。

如果有无参构造方法,一般写成这种形式是可以的 PlaylistCollection play=new PlaylistCollection(); 

PlayList类中有个ArrayList对象,PlayListCollection中有个HashMap对象,你是不是想给他们传值呢?

PlayList中变量定义和构造方法建议这么写:

private List<Song> list;

public PlayList(){

   list=new ArrayList<Song>();

}

在构造方法中创建list对象,PlayListCollection的构造方法也可以这么写。


  • 路边捡只猫 提问者 #1
    老师 这个问题我解决了, 我还想问一下,为什么我通过主菜单,进入播放器管理,创建了一个播放列表,然后返回到主菜单,然后再进入的时候,原来的数据都已经没了,是不是因为 Test a = new Test(); 这个缘故?
    2017-04-07 11:19:21
  • 路边捡只猫 提问者 #2
    非常感谢!
    2017-04-07 18:53:52
提问者 路边捡只猫 2017-04-06 15:31:18
//播放器菜单
public void playerMenu(){
     PlaylistCollection play=new PlaylistCollection(null);//  问题出在此处  
     在Collection 中写一个无参构造方法


  • 提问者 路边捡只猫 #1
    写一个无参构造方法,然后 写成 PlaylistCollection play=new PlaylistCollection(); 这样对吗
    2017-04-06 15:34:04
提问者 路边捡只猫 2017-04-06 12:57:08
//播放器菜单
public void playerMenu(){
	 PlaylistCollection play=new PlaylistCollection(null);//实例化播放器 
     Playlist playList=new Playlist(null);
     Scanner s1=new Scanner(System.in);
    
     while(true){
     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("          0-返回上一级菜单                                ");
     System.out.println("-------------------------------------");
     System.out.println("请输入对应的数字对播放器进行管理");

     int n=s1.nextInt();
     
     switch(n){
         case 1://向播放器添加播放列表
                System.out.println("向播放器添加播放列表");  
                 play.addplaylist(null);
                 break;


提问者 路边捡只猫 2017-04-06 12:07:36

// 主流程实现

public  void test() {
play.addplaylist1(null); 
Test a = new Test();
a.mainMenu();
}

****************************************

public void mainMenu() {
		Test a = new Test();
		
		System.out.println("--------------------------------------");
		System.out.println("             主菜单                                         ");
		System.out.println("             1--播放列表管理                             ");
		System.out.println("             2--播放器管理                                  ");
		System.out.println("             0--退出                                                 ");
		System.out.println("--------------------------------------");
		System.out.println("请输入对应数字进行操作");
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		switch (n) {
		case 1:
            
			a.playlistMenu();
		case 2:

			a.playerMenu();
		case 0: break;
		}
	}
	************************
		// 播放器菜单
	public void playerMenu() {
		
		//PlaylistCollection play = new PlaylistCollection();// 实例化播放器
		
		Scanner s1 = new Scanner(System.in);

		while (true) {
			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("          0-返回上一级菜单                                ");
			System.out.println("-------------------------------------");
			System.out.println("请输入对应的数字对播放器进行管理");

			int n = s1.nextInt();

			switch (n) {
			case 1:// 向播放器添加播放列表
				System.out.println("向播放器添加播放列表");
				play.addplaylist(null);
				break;
			case 2:
				// 从播放器删除播放列表

				play.deleteplaylist(null);
				break;
			case 3:
				// 通过名字查询播放列表信息
				System.out.println("请输入要查询的播放列表名称");
				String nam = s1.next();
				play.searchPlaylistByName(nam);
				break;
			case 4:
				// 显示所有播放列表名称
				play.displayplaylistName();
				break;
			case 0:
				// 返回上一级菜单
				// 调用主菜单
				Test a = new Test();
				a.mainMenu();
				
				break;
			}
		}
	}


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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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