向普通播放列表中添加歌曲
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 份
- 解答问题 7235 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星