package iit.cn.demo6_1_1; import java.util.LinkedList; import java.util.Scanner; /* * ktv点歌功能: * 指令0:添加歌曲 * 指令1:将所选歌曲置顶 * 指令2:所选歌曲提前一位 * 指令3:退出系统 */ public class KTVbyLinkedList { public static void main(String[] args) { System.out.println("--------欢迎来到点歌系统---------"); System.out.println("0.添加歌曲至列表"); System.out.println("1.将所选歌曲置顶"); System.out.println("2.所选歌曲提前一位"); System.out.println("3.退出系统"); LinkedList lineUpList=new LinkedList(); //创建歌曲列表 addMusicList(lineUpList);//初始化列表 while(true) { //一直循环执行此操作,直到退出系统 System.out.println("请选择要执行的操作:"); Scanner scan= new Scanner(System.in); int i=scan.nextInt(); //接受键盘输入的指令 switch(i) { case 0: // 添加歌曲至列表 addMusic(lineUpList); break; case 1: //将所选歌曲置顶 setTop(lineUpList); break; case 2: //所选歌曲提前一位 setBefore(lineUpList); break; case 3: exit();//退出系统 break; default: System.out.println("--------------------"); System.out.println("指令错误!请输入正确的指令"); break; } System.out.println("当前歌曲列表:"+lineUpList); System.out.println("--------------------------"); System.out.println(); } } //歌曲初始化 public static void addMusicList(LinkedList lineUpList) { lineUpList.add("稻香"); lineUpList.add("夜曲"); lineUpList.add("听妈妈的话"); lineUpList.add("夜的第七章"); lineUpList.add("龙卷风"); System.out.println("当前歌曲列表:"+lineUpList); } //执行添加歌曲 public static void addMusic(LinkedList lineUpList) { System.out.println("请输入要添加的歌曲:"); String musicName=new Scanner(System.in).nextLine(); lineUpList.add(musicName); //将歌曲添加到最后 } //将歌曲置顶 public static void setTop(LinkedList lineUpList) { System.out.println("请选择要置顶的歌曲:"); String name=new Scanner(System.in).nextLine(); int position=lineUpList.indexOf(name); //判断歌曲的位置 if(position<0) { System.out.println("歌曲不存在"); }else { lineUpList.addFirst(name); lineUpList.remove(position); } } //选中歌曲向前一位 public static void setBefore(LinkedList lineUpList) { System.out.println("请选择要向前移的歌曲:"); String name=new Scanner(System.in).nextLine(); int index=lineUpList.indexOf(name); if(index<0) { System.out.println("没有此歌曲"); }else { lineUpList.remove(index); lineUpList.add(index-1, name); } } //退出系统 public static void exit() { System.out.println("--------------退出-------------"); System.out.println("您已退出系统!"); System.exit(0); } }