代码:
1 import java.util.LinkedList; 2 import java.util.Scanner; 3 import java.util.Set; 4 5 public class KTVByLinkedList { 6 public static void main(String[] args) { 7 System.out.println("---------------欢迎来到点歌系统----------------"); 8 System.out.println("0.添加歌曲到歌曲列表中"); 9 System.out.println("1.将歌曲置顶"); 10 System.out.println("2.将歌曲向前移一位"); 11 System.out.println("3.退出"); 12 LinkedList linkedList = new LinkedList(); 13 addMusicList(linkedList); 14 while (true){ 15 Scanner sc = new Scanner(System.in); 16 int command = sc.nextInt(); 17 switch (command){ 18 case 0: 19 // 如果是0的话 调用添加歌曲的方法到歌曲列表中 20 addMusic(linkedList); 21 break; 22 // 如果是1的话 调用歌曲置顶的方法将歌曲置顶 23 case 1: 24 SetTop(linkedList); 25 break; 26 // 如果是2的话 调用歌曲置顶的方法将歌曲向前移一位 27 case 2: 28 SetBefore(linkedList); 29 break; 30 // 如果是3的话 调用歌曲置顶的方法进行退出 31 case 3: 32 exit(); 33 break; 34 default: 35 System.out.println("-------------------------------------------"); 36 System.out.println("sorry,功能选择有误,请输入正确的功能序号!"); 37 break; 38 } 39 System.out.println("当前歌曲列表是:"+linkedList); 40 } 41 } 42 public static void exit() { 43 System.out.println("---------------退出---------------"); 44 System.out.println("您已退出系统!"); 45 System.exit(0); 46 } 47 // 执行将歌曲进行往前移一位的方法 48 public static void SetBefore(LinkedList linkedList) { 49 System.out.println("请输入您想要前移歌曲的名称:"); 50 Scanner sc = new Scanner(System.in); 51 String MusicName = sc.nextLine(); 52 int position = linkedList.indexOf(MusicName); 53 if (position<0){//不存在 54 System.out.println("当前列表中没有您输入的歌曲……"); 55 } 56 // 判断歌曲是否在第一位上 57 else if (position == 0) { 58 System.out.println("您选择的歌曲已经是第一位了"); 59 }else { 60 // 移除指定的歌曲 61 linkedList.remove(MusicName); 62 // 将指定的歌曲放到前一位上去 63 linkedList.add(position -1, MusicName); 64 } 65 System.out.println("您选中的歌曲"+MusicName+"已经往前移动一位了"); 66 } 67 // 执行将歌曲置顶的方法 有查询歌曲的功能 68 public static void SetTop(LinkedList linkedList) { 69 System.out.println("请输入您想要置顶歌曲的名称:"); 70 Scanner sc = new Scanner(System.in); 71 String MusicName = sc.nextLine(); 72 // 指定某首歌曲的位置 73 int position = linkedList.indexOf(MusicName); 74 // 进行判断是否寻找这首歌曲 75 if (position < 0) {//不存在 76 System.out.println("当前列表中没有您输入的歌曲……"); 77 } else { 78 // 移除指定的歌曲 79 linkedList.remove(MusicName); 80 // 将指定的歌曲放在第一位 81 linkedList.addFirst(MusicName); 82 System.out.println("您选中的歌曲" + MusicName + "已进行置顶"); 83 } 84 } 85 // 执行添加歌曲的方法 86 public static void addMusic(LinkedList linkedList) { 87 System.out.println("请输入您想要添加歌曲的名称:"); 88 Scanner sc = new Scanner(System.in); 89 String MusicName = sc.nextLine(); 90 linkedList.addLast(MusicName); 91 System.out.println("已添加的歌曲是:"+ MusicName); 92 } 93 // 初始化添加歌曲列表 94 public static void addMusicList(LinkedList linkedList) { 95 linkedList.add("成都"); 96 linkedList.add("理想"); 97 linkedList.add("小草"); 98 System.out.println("歌曲列表有:"+ linkedList); 99 } 100 }