模拟KTV点歌系统的程序

ops/2024/12/12 15:11:56/

欢迎来到点歌系统

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);}}
}

 


http://www.ppmy.cn/ops/141268.html

相关文章

Cesium中实现仿ArcGIS三维的动态图层加载方式

Cesium 加载 ArcGIS 动态图层的方式 如果你在 Cesium 中加载过 ArcGIS 的动态图层&#xff0c;你会发现&#xff0c;Cesium 对于动态图层仍然采用类似切片图层的逻辑进行加载。也就是每个固定的瓦片 export 一张图片。 这样会造成一些问题&#xff1a; 请求量大&#xff0c;…

小程序-基于java+SSM+Vue的校园水电费管理小程序设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

SkyWalking Helm Chart 4.7.0 安装、配置

https://skywalking.apache.org/events/release-apache-skywalking-kubernetes-helm-chart-4.7.0/https://github.com/apache/skywalking-helm/tree/v4.7.0https://skywalking.apache.org/zh/2020-04-19-skywalking-quick-start/简介 skywalking 是分布式系统的 APM(Applicat…

软件工程知识点

软件开发模型1 软件开发模型2 软件过程模型习惯上也称为软件开发模型&#xff0c;它是软件开发全部过程、活动和任务的结构框典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型基于构件的开发模型和形式化方法模型等。 极限编程 开发方法 RUP…

WordPress全能CDN插件_自动刷新预热_缓存优化|国内国外集成CDN配置

WordPress全网独家原创CDN插件 自动刷新预热 缓存优化 国内国外集成CDN配置 支持白山云 cdnfly Cloudflare PS:目前国内集成了CDNfly,白山云国外集成了Cloudflare,更新手动刷新&#xff0c;全站刷新&#xff0c;优化提交线程&#xff0c;根据网友建议适配阿里云&#xff0c;le…

【论文研读】LLMs知识边界大考:检索增强能否让它们更自知?

这篇论文蛮有意思的&#xff0c;思来想去感觉有必要总结一下。先贴地址&#xff1a;https://arxiv.org/pdf/2307.11019 这篇论文的研究旨在回答以下三个核心问题&#xff1a; LLMs在多大程度上能够感知其事实知识边界&#xff1f;检索增强对LLMs有何影响&#xff1f;不同特性的…

基于STM32的IoT环境监测

引言 随着物联网&#xff08;IoT&#xff09;技术的快速发展&#xff0c;环境监测系统变得愈发重要。通过使用STM32微控制器&#xff0c;我们可以轻松地获取和上传环境数据&#xff0c;如温度和湿度。这篇文章将指导你如何构建一个基于STM32的IoT环境监测系统&#xff0c;使用M…

深入理解 Spring MVC 中的 @RequestBody 注解

在构建 RESTful API 时&#xff0c;Spring MVC 提供了许多强大的注解来简化开发过程。其中一个常用的注解是 RequestBody。本文将详细介绍 RequestBody 的作用、使用场景以及如何正确使用它。 什么是 RequestBody&#xff1f; RequestBody 是 Spring MVC 中的一个注解&#x…