添加歌曲到第三个时出问题了
/**将歌曲添加到播放列表
* @param song
*/
public void addToPlayList(Song song) {
System.out.println("请输入要添加的歌曲的数量:");
int n=sc.nextInt();
for(int i=0;i<n;i++) {
boolean flag=true;
System.out.println("请输入第"+(i+1)+"首歌曲:");
while(flag) {
System.out.println("请输入歌曲的id:");
String str=sc.next();
if(musicList.size()==0) {
song.setId(str);
flag=false;
}else {
for(int j=0;j<musicList.size();j++) {
flag=true;
if(str.equals(musicList.get(j).getId())) {
System.out.println("该歌曲编号已存在,请重新输入!");
break;
}else {
song.setId(str);
flag=false;
}
}
}
}
while(!flag) {
System.out.println("请输入歌曲的名称:");
String str1=sc.next();
if(musicList.size()==0) {
song.setName(str1);
flag=true;
}else {
for(int j=0;j<musicList.size();j++) {
flag=false;
if(str1.equals(musicList.get(j).getName())) {
System.out.println("该歌曲名称已存在,请重新输入!");
break;
}else {
song.setName(str1);
flag=true;
}
}
}
}
System.out.println("请输入演唱者:");
song.setSinger(sc.next());
musicList.add(song);
}
}
正在回答
你得遍历完歌曲才能知道是不是存在吧,所以你这里的else内的代码,应该放在for的外面。如果存在的话直接退出方法了,只有不存在才会走到for的外层。
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星