模拟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);
        }
    }
}
相关推荐
怀旧,几秒前
【C++项目】负载均衡式在线OJ
开发语言·c++·负载均衡
float_com1 分钟前
【java进阶】------ 多线程【上】
java
吴声子夜歌1 分钟前
Java——通用容器类
java·容器
yujunl7 分钟前
U9系统admin用户账号密码生成Do方法
开发语言
MaikieMaiky15 分钟前
C++ STL 系列(一):string 容器详解与示例
开发语言·c++
之歆15 分钟前
DAY_25 JavaScript 原型、原型链与值类型/引用类型 ── 深度全解(下)
开发语言·javascript·ecmascript
段ヤシ.15 分钟前
回顾Java知识点,面试题汇总Day7(持续更新)
java·开发语言
努力努力再努力wz16 分钟前
【Qt入门系列】深入理解信号与槽:从事件响应到自定义信号机制
c语言·开发语言·数据结构·数据库·c++·qt·mysql
在角落发呆17 分钟前
DTU 数据转发服务器:工业物联网的隐形桥梁
开发语言·php
Sakuyu4346820 分钟前
C语言基础--基本数据类型
c语言·开发语言