【用Java模拟KTV点歌系统】

news/2024/11/8 0:44:48/

目录

模拟KTV点歌系统

任务描述

运行结果

任务目标

实现思路

实现代码


模拟KTV点歌系统

任务描述

分别使用LinkedList和ArrayList集合,实现编写一个模拟KTV点歌系统的程序。在程序中,指令0代表添加歌曲,指令1代表将所选歌曲置顶,指令代表将所选歌曲提前一位,指令3代表退出该系统。要求根据用户输入的指令和歌曲名展现歌曲列表。

运行结果

  

任务目标

  • 学会分析"模拟KTV点歌系统"程序设计的实现思路。

  • 根据思路独立完成"模拟KTV点歌系统"程序设计的源代码编写,编译和运行。

  • 掌握ArrayList集合和LinkedList集合中方法的使用。

实现思路

①为了指引用户操作,首先要将各个指令所表示的含义打印到控制台。

②程序中需要创建一个集合作为歌曲列表,并且向其添加一部分歌曲。

③由于控制台需要实时等待用户输入命令,所以可以使用while(true)来使程序一直处于等待用户输入指令的状态。

④可以通过Scanner类的nextInt()方法来接收控制台的信息。

⑤可以使用switch语句,根据控制台传入的指令,判断应该执行的操作。

⑥通过LinkedList集合或ArrayList集合定义的方法操作歌曲列表。

实现代码

(1),使用LinkedList集合模拟点歌系统的实现代码

 package 集合类;import java.util.LinkedList;import java.util.Scanner;public class KTVByLinkedList {public static void main(String[] args) {System.out.println("-----欢迎来到点歌系统-------");System.out.println("0.添加歌曲至列表");System.out.println("1.将歌曲置顶");System.out.println("2.将歌曲前移一位");System.out.println("3.退出");//创建歌曲列表LinkedList lineUpList=new LinkedList();//添加一部分歌曲到歌曲列表addMusicList(lineUpList);while(true){System.out.println("请输入要执行的操作序号");//接收键盘输入的功能选项序号Scanner scan=new Scanner(System.in);int command=scan.nextInt();//执行序号对应的功能switch (command){case 0://添加歌曲到列表addMusic(lineUpList);break;case 1://将歌曲置顶setTop(lineUpList);break;case 2://将歌曲前移一位setBefore(lineUpList);break;case 3://退出exit();break;default:System.out.println("---------------");System.out.println("功能选择错误,请输入正确的功能序号!");}System.out.println("当前歌曲列表: "+lineUpList);}}//初始时添加歌曲名称private static void addMusicList(LinkedList lineUpList){lineUpList.add("稻香");lineUpList.add("夜曲");lineUpList.add("夜上海");lineUpList.add("好运来");System.out.println("初始歌曲列表"+lineUpList);}//执行添加歌曲private static void addMusic(LinkedList lineUpList){System.out.print("请输入要添加的歌曲名称: ");String musicName=new Scanner(System.in).nextLine();//添加歌曲到列表的最后lineUpList.addLast(musicName);System.out.println("已添加歌曲:"+musicName);}//执行将歌曲置顶private static void setTop(LinkedList lineUpList){System.out.print("请输入要置顶的歌曲名称: ");String musicName=new Scanner(System.in).nextLine();//查找指定歌曲的位置int position=lineUpList.indexOf(musicName);//判断输入的歌曲是否存在if(position<0){System.out.println("当前列表没有输入的歌曲!");}else{//移除指定的歌曲lineUpList.remove(musicName);//将指定的歌曲放到第一位lineUpList.addFirst(musicName);}System.out.println("已将歌曲"+musicName+"置顶");}//执行将歌曲置前一位private static void setBefore(LinkedList lineUpList){System.out.print("请输入要置前的歌曲名称: ");String musicName=new Scanner(System.in).nextLine();//查找指定歌曲的位置int position=lineUpList.indexOf(musicName);if(position<0){System.out.println("当前列表中没有输入的歌曲!");//判断歌曲是否已在第一位}else if (position==0){System.out.println("当前歌曲已在最底部");}else{//移除指定的歌曲lineUpList.remove(musicName);//将指定的歌曲放到前一位lineUpList.add(position-1,musicName);}System.out.println("已将歌曲"+musicName+"置在第一位");}//退出private static void exit(){System.out.println("-----------退出---------------");System.out.println("你已退出系统");System.exit(0);}}

(2),使用ArrayList集合模拟点歌系统的代码实现

package 集合类;import java.util.ArrayList;import java.util.LinkedList;import java.util.Scanner;public class KTVByArrayList {public static void main(String[] args) {System.out.println("-----欢迎来到点歌系统-------");System.out.println("0.添加歌曲至列表");System.out.println("1.将歌曲置顶");System.out.println("2.将歌曲前移一位");System.out.println("3.退出");//创建歌曲列表ArrayList lineUpList = new ArrayList();//添加一部分歌曲至歌曲列表addMusicList(lineUpList);while(true){System.out.println("请输入要执行的操作序号");Scanner scan=new Scanner(System.in);int command=scan.nextInt();switch (command){case 0://添加歌曲addMusic(lineUpList);break;case 1://将歌曲置顶setTop(lineUpList);break;case 2://将歌曲前移一位setBefore(lineUpList);break;case 3://退出exit();break;default:System.out.println("---------------");System.out.println("功能选择错误,请输入正确的功能序号!");}System.out.println("当前歌曲列表: "+lineUpList);}}//添加歌曲名称private static void addMusicList(ArrayList lineUpList){lineUpList.add("稻香");lineUpList.add("夜曲");lineUpList.add("夜上海");lineUpList.add("好运来");System.out.println("初始歌曲列表"+lineUpList);}//执行添加歌曲private static void addMusic(ArrayList lineUpList){System.out.print("请输入要添加的歌曲名称: ");String musicName=new Scanner(System.in).nextLine();lineUpList.add(musicName);//添加歌曲到列表最后System.out.println("已添加歌曲:"+musicName);}//执行将歌曲置顶private static void setTop(ArrayList lineUpList){System.out.print("请输入要置顶的歌曲名称: ");String musicName=new Scanner(System.in).nextLine();//查找指定歌曲位置int position=lineUpList.indexOf(musicName);//判断歌曲是否存在if(position<0){System.out.println("当前列表没有输入的歌曲!");}else{//移除指定歌曲lineUpList.remove(musicName);//将指定歌曲放到第一位lineUpList.add(0,musicName);}System.out.println("已将歌曲"+musicName+"置顶");}//执行将歌曲前置一位private static void setBefore(ArrayList lineUpList){System.out.print("请输入要置前的歌曲名称: ");String musicName=new Scanner(System.in).nextLine();int position=lineUpList.indexOf(musicName);if(position<0){System.out.println("当前列表中没有输入的歌曲!");}else if (position==0){System.out.println("当前歌曲已在最底部");​}else{lineUpList.remove(musicName);lineUpList.add(position-1,musicName);}System.out.println("已将歌曲"+musicName+"置在第一位");}private static void exit(){System.out.println("-----------退出---------------");System.out.println("你已退出系统");System.exit(0);}}

⛵总结
通过这个小项目,可以掌握ArrayList集合和LinkedList集合中方法的使用,同时ArrayList集合和LinkedList集合的不同是进大厂面试经常涉及到的内容,

如果这篇【文章】有帮助到你,希望可以点个赞👍,创作不易,如果有对【Java基础】【后端技术】、【数据结构】【Linux操作系统】感兴趣的小可爱,也欢迎关注 【LNORA】,对【算法设计与分析】感兴趣的可以免费订阅【算法设计与分析】的专栏,如果我的文章有帮助到你,麻烦来个一键三连奥,这将是对我莫大的鼓励,我将为大家带来更加优质的文章!我们可以一起进步,每天进步一点点,我将会给你带来巨大的【收获与惊喜】💝💝!
 

 


http://www.ppmy.cn/news/345462.html

相关文章

KTV点歌系统(java)

用LinkedList集合实现编写一个模拟KTV点歌系统的程序。在程序中&#xff0c;指令0代表添加歌曲&#xff0c;指令1代表将所选歌曲置顶&#xff0c;指令2代表将所选哥曲提前一位&#xff0c;指令3代表退出该系统。要求根据用户输入的指令和歌曲名展现歌曲列表。 代码如下&#xf…

管理系统之KTV点歌系统

管理系统之KTV点歌系统 KTV点歌系统主要包括两部分&#xff0c;管理者界面和用户界面。管理者可以实现歌曲的录入&#xff0c;增加&#xff0c;删除&#xff0c;修改查找。而用户则可以实现歌曲的查找和将歌曲加入到歌单里以及删除或置顶。系统现在还不是很完整&#xff0c;只有…

java模拟KTV点歌系统

上面的案例启示是对集合类的一个巩固&#xff0c;代码如下&#xff1a; package cn.csdn.ktv;import java.util.LinkedList; import java.util.Scanner;public class KTVDemo {public static void main(String[] args) {System.out.println("--------------欢迎来到点歌系…

音创服务器系统手动加歌,音创ktv点歌系统的教程

完美者(wmzhe.com)网站以软件下载为基础&#xff0c;改版后的网站对功能性板块进行扩充&#xff0c;以期能够解决用户在软件使用过程中遇见的所有问题。网站新增了“软件百科”、“锦囊妙技”等频道&#xff0c;可以更好地对用户的软件使用全周期进行更加专业地服务。 音创ktv点…

KTV点歌系统

/*模拟 KTV 点歌系统。用户可按歌名查找某首歌曲或按歌手名查找其所有歌曲&#xff0c;点歌后显示所点歌曲歌词。管理员可添加和删除歌曲&#xff0c;每个歌曲的歌词用一个单独的文件存储。*/ //该系统成功运行的前提是创建两个文件夹&#xff0c;1、sier 2、song //该系统成功…

简单的KTV点歌系统

import java.util.Scanner;public class markSystem { public static void main(String[] args) { int choose; Singer singernew Singer(); Scanner inputnew Scanner(System.in); System.out.println(""); System.out.println(" 欢迎使用歌手打…

KTV点歌系统数字点歌功能

大家好&#xff01;初来乍到&#xff0c;这是我在CSDN的第一篇文章&#xff0c;有写的不好的地方请大家及时指出&#xff0c;我会听取大家的建议&#xff0c;积极改正&#xff01; 最近在用winform学习的知识做KTV项目&#xff0c;要求有前台和后台管理系统&#xff0c;在做的…

如何用笔记本组建家庭点歌系统

有很多朋友希望用笔记本组建家庭点歌系统&#xff0c;具体方法是怎样的呢&#xff1f;下面&#xff0c;笔者手把手教你用笔记本组建家庭卡拉OK点歌系统。 一、安装点歌软件 二、接线 1&#xff09;视频线的连接 视频信号通过笔记本的“外接显示设备”接口输出到电视机。 笔记…