如何调出歌曲的Id进行比较
我在测试时,发现可以重复向主播放列表添加id相同的歌曲,我想在输入id后,能够进行判断主播放列表中有没有相同的id歌曲。有的话提示,没有继续添加。但我不会编。
2
收起
正在回答
4回答
老师用你贴的代码测试添加重复数据是不能添加的,你如果能正常添加查看一下你的Song类的equals()方法是否正确。可以把equals()单独贴出来
士林健津_007
2019-03-27 11:09:25
public void addToPlayList(Song song){ //排除重复添加的情况 boolean flag=false; for(Song song1:musicList){ if(song1.equals(song)){ flag=true; break; } } if(flag){ System.out.println("该歌曲已经存在。请不要重复添加。"); }else{ musicList.add(song); } } 这是涉及问题的方法 public void mainProcess(){ stdIn = new Scanner(System.in); PlayListCollection plc=new PlayListCollection(); //创建播放列表容器(播放器) PlayList mainplayList=new PlayList("主播放列表"); PlayList playList1=null; plc.addPlayList(mainplayList); Test test=new Test(); int w=0; int e=0; int q=0; BigOuter: while(true){ test.mainMenu(); System.out.println("请输入对应数字进行操作:"); Outer: while(true){ try{ q=stdIn.nextInt(); }catch(InputMismatchException p){ stdIn.next(); System.out.println("您的输入有误,请重新输入:"); continue Outer; } if(q==0){ break BigOuter; } switch(q){ case 1: while(true){ test.playListManage(); System.out.println("请输入对应的数字对播放列表进行管理:"); int number1=0; int str2=0; Ainner: while(true){ try{ w=stdIn.nextInt(); }catch(InputMismatchException u){ stdIn.next(); System.out.println("您的输入有误,请重新输入:"); continue Ainner; } if(w==9){ break Outer; }switch(w){ case 1:System.out.println("将歌曲添加到主播放列表"); System.out.println("请输入要添加的歌曲数量:"); Cinner: while(true){ try{ number1=stdIn.nextInt(); }catch(InputMismatchException h){ stdIn.next(); System.out.println("您的输入有误,请重新输入:"); continue Cinner; } for(int i=1;i<=number1;i++){ System.out.println("请输入第"+i+"首歌曲:"); System.out.println("请输入要添加的歌曲的id:"); String str11=stdIn.next(); System.out.println("请输入要添加的歌曲名称:"); String str12=stdIn.next(); System.out.println("请输入演唱者:"); String str13=stdIn.next(); Song song1=new Song(str11,str12,str13); mainplayList.addToPlayList(song1); } System.out.println("添加完成。"); System.out.println(); break Ainner; } 这是涉及问题的测试方法 请老师帮我看看
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星