用LinkedList集合实现编写一个模拟KTV点歌系统的程序。在程序中,指令0代表添加歌曲,指令1代表将所选歌曲置顶,指令2代表将所选哥曲提前一位,指令3代表退出该系统。要求根据用户输入的指令和歌曲名展现歌曲列表。
代码如下:
package main;
import java.util.*;
public class Test {
static Scanner sc=new Scanner(System.in);
static LinkedList<String> list=new LinkedList<String>();
void printSong() {
System.out.println("当前歌曲列表:"+list.toString());
}
void Add() { //添加歌曲至列表
System.out.print("请输入要添加的歌曲名称:");
String a=sc.next();
list.add(a);
System.out.println("已添加歌曲:"+a);
printSong();
}
void Top() { //将歌曲置顶
System.out.print("请输入要置顶的歌曲名称:");
String a=sc.next();
list.add(0,a);
list.remove(list.lastIndexOf(a));
System.out.println("已将歌曲"+a+"置顶");
printSong();
}
void Move() { //将歌曲前移一位
System.out.print("请输入要前移的歌曲名称:");
String a=sc.next();
list.add((list.indexOf(a)-1),a);
list.remove(list.lastIndexOf(a));
System.out.println("已将歌曲"+a+"前移一位");
printSong();
}
void signout() { ///退出
System.out.println("-----------退出-------");
System.out.println("您已退出系统");
System.exit(0);
}
public static void main(String[] args) {
list.add("稻香");
list.add("夜曲");
list.add("夜的第七章");
list.add("听妈妈的话");
list.add("龙卷风");
System.out.println("0.添加歌曲至列表");
System.out.println("1.将歌曲置顶");
System.out.println("2.将歌曲前移一位");
System.out.println("3.退出");
System.out.println("初始歌曲列表:"+list.toString());
Test p=new Test();
int a=10;
while(a!=3)
{
System.out.print("请输入要执行的操作序号:");
a=sc.nextInt();
switch(a)
{
case 0:
p.Add();
break;
case 1:
p.Top();
break;
case 2:
p.Move();
break;
case 3:
p.signout();
break;
default:break;
}
}
}
}
结果截图: