模拟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);
        }
    }
}
相关推荐
一定要AK3 小时前
Spring 入门核心笔记
java·笔记·spring
A__tao3 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao3 小时前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
lly2024063 小时前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨3 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9993 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4943 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n4 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨4 小时前
python扫码登录dy
开发语言·python
我是唐青枫4 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net