模拟KTV点歌系统的程序

欢迎来到点歌系统

0.添加歌曲

1.将歌曲置顶

2.将歌曲前移一位

3.退出

当前歌单为:【我是一个粉刷匠 卖报歌 拔萝卜 小兔子乖乖 小跳蛙】

请输入要执行的操作序号:

0

请输入要添加的歌曲名称:

快乐的一天

已添加歌曲:快乐的一天

当前歌单为:【我是一个粉剧匠 卖报歌 拔萝卜 小兔子乖乖 小跳蛙 快乐的一天】

请输入要执行的操作序号:

1

请输入要置顶的歌曲名称:

小跳蛙

当前歌单为:【小跳蛙 我是一个粉剧匠 卖报歌 拔萝卜 小兔子乖乖 快乐的一天】

请输入要执行的操作序号:

2

请输入要置前的歌曲名称:

快乐的一天

【小跳蛙 我是一个粉剧匠 卖报歌 拔萝卜 快乐的一天 小兔子乖乖】

请输入要执行的操作序号:

3

退出

java 复制代码
import java.util.Scanner;
import java.util.LinkedList;
public class Ktv {
    public Ktv(){}
    public static void menu(){
        System.out.println("欢迎来到点歌系统:");
        System.out.println("0.添加歌曲");
        System.out.println("1.将歌曲置顶");
        System.out.println("2.将歌曲前移一位");
        System.out.println("3.退出");
    }
    public static void addSong(LinkedList<String>list, Scanner sc) {
        System.out.println("请输入要添加的歌曲名称:");
        list.add(sc.next());
    }
    public static void setTop(LinkedList<String>list,Scanner sc){
        System.out.println("请输入要置顶的歌曲名称:");
        String name = sc.next();
        int index = list.indexOf(name);
        if(index==0){
            System.out.println("本来就是第一首!");
        }else if(index ==-1){
            System.out.println("该歌曲不存在!");
        }else{
            list.remove(index);
            list.addFirst(name);
        }
    }
    public static void setBefore(LinkedList<String>list,Scanner sc){
        System.out.println("请输入要前移的歌曲名称:");
        String name = sc.next();
        int index = list.indexOf(name);
        if(index==0){
            System.out.println("本来就是第一首!");
        }else if(index ==-1){
            System.out.println("该歌曲不存在!");
        }else{
            list.remove(index);
            list.add(index-1,name);
        }
    }
}

package Ahomework.Task01;
import java.util.LinkedList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
    LinkedList <String> list = new LinkedList();
    list.add("我是一个粉刷匠");
    list.add("卖报歌");
    list.add("拔萝卜");
    list.add("小兔子乖乖");
    list.add("小跳蛙");
    System.out.println(list);
    Scanner sc = new Scanner(System.in);
    while(true){
        Ktv.menu();
        System.out.println("请输入要执行的操作序号");
        int choice = sc.nextInt();
        switch(choice){
            case 0:
                Ktv.addSong(list,sc);
                break;
            case 1:
                Ktv.setTop(list,sc);
                break;
            case 2:
                    Ktv.setBefore(list,sc);
                break;
            case 3:
                sc.close();
                System.exit(0);
            default:
                System.out.println("功能选择错误,请重新输入:");
        }
        System.out.print("当前歌单为:");
        System.out.println(list);
        }
    }
}
相关推荐
二两小咸鱼儿43 分钟前
Java Demo - JUnit :Unit Test(Assert Methods)
java·后端·junit
字节源流1 小时前
【spring】配置类和整合Junit
java·后端·spring
跪在镜子前喊帅1 小时前
【面试】Java 多线程
java·面试
PfCoder1 小时前
C#的判断语句总结
开发语言·c#·visual studio·winform
好看资源平台2 小时前
Java/Kotlin逆向基础与Smali语法精解
java·开发语言·kotlin
zimoyin2 小时前
解决 Java/Kotlin 资源加载问题
java·python·kotlin
wjcroom2 小时前
数字投屏叫号器-发射端python窗口定制
开发语言·python
静候光阴2 小时前
python使用venv命令创建虚拟环境(ubuntu22)
linux·开发语言·python
Y1nhl2 小时前
力扣hot100_二叉树(4)_python版本
开发语言·pytorch·python·算法·leetcode·机器学习
阿木看源码3 小时前
bindingAdapter的异常错误
java·开发语言