模拟KTV点歌系统

分别使用LinkedList和ArrayList集合,实现编写一个模拟KTV点歌系统的程序

KTVByArrayList.java

import java.util.ArrayList;

import java.util.Scanner;

public class KTVByArrayList {

public static void main(String[] args) {

int choice ;

ArrayList MusicList=new ArrayList();

Scanner scanner=new Scanner(System.in);

show();

Init(MusicList);

System.out.println("请输入你要执行的操作序号");

if(scanner.hasNextInt()) {

choice=scanner.nextInt();

}else {

choice=4;

}

while (choice!=3)

{

switch (choice) {

case (0):

addMusic(MusicList);

break;

case (1):

moveMusicFirst(MusicList);

break;

case (2):

moveMusicBefore(MusicList);

break;

default:

System.out.println("请输入0-2数字");

break;

}

show();

System.out.println("请输入你要执行的操作序号");

if(scanner.hasNextInt()) {

choice=scanner.nextInt();

}else {

choice=4;

}

System.out.println("当前歌曲列表:"+MusicList);

}

System.out.println("--------------------退出-----------------------");

System.out.println("你已退出系统");

}

static void show(){

System.out.println("------------------------欢迎来到点歌系统-----------------------------");

System.out.println("0.添加歌曲至列表");

System.out.println("1.将歌曲置顶");

System.out.println("2.将歌曲移至前一位");

System.out.println("3.退出");

}

static void Init(ArrayList MusicList)

{

MusicList.add("稻香");

MusicList.add("夜曲");

MusicList.add("夜的第七章");

MusicList.add("听妈妈的话");

MusicList.add("龙卷风");

System.out.println("初始歌曲列表:"+MusicList);

}

static void addMusic(ArrayList MusicList)

{

System.out.println("请输入你要添加的歌曲名称:");

Scanner scanner=new Scanner(System.in);

String MusicName=scanner.nextLine();

MusicList.add(MusicName);

System.out.println("已加入歌曲:"+MusicList.get(MusicList.size()-1));

System.out.println("当前歌曲列表"+MusicList);

}

static void moveMusicFirst(ArrayList MusicList)

{

System.out.println("请输入你要置顶歌曲的名称:");

Scanner scanner=new Scanner(System.in);

String MusicName=scanner.nextLine();

//判断有没有这首歌

for(Object i:MusicList)

{

if(i.equals(MusicName))

{

MusicList.remove(MusicName);

MusicList.add(0,MusicName);

System.out.println("已将歌曲"+MusicName+"置顶");

return;

}

}

System.out.println("没有这首歌");

}

static void moveMusicBefore(ArrayList MusicList)

{

System.out.println("请输入你要置前歌曲的名称:");

Scanner scanner=new Scanner(System.in);

String MusicName=scanner.nextLine();

//判断有没有这首歌

for(int i=0;i

{

if((MusicList.get(i)).equals(MusicName))

{

MusicList.add(i-1,MusicName);

MusicList.remove(i+1);

System.out.println("已将歌曲"+MusicList.get(0)+"置前");

return;

}

}

System.out.println("没有这首歌");

}

}

KTVByLinkedList.java

import java.util.LinkedList;

import java.util.Scanner;

public class KTVByLinkedList {

public static void main(String[] args) {

int choice ;

LinkedList MusicList=new LinkedList();

Scanner scanner=new Scanner(System.in);

show();

Init(MusicList);

System.out.println("请输入你要执行的操作序号");

if(scanner.hasNextInt()) {

choice=scanner.nextInt();

}else {

choice=4;

}

while (choice!=3)

{

switch (choice) {

case (0):

addMusic(MusicList);

break;

case (1):

moveMusicFirst(MusicList);

break;

case (2):

moveMusicBefore(MusicList);

break;

default:

System.out.println("请输入0-2数字");

break;

}

show();

System.out.println("请输入你要执行的操作序号");

if(scanner.hasNextInt()) {

choice=scanner.nextInt();

}else {

choice=4;

}

System.out.println("当前歌曲列表:"+MusicList);

}

System.out.println("--------------------退出-----------------------");

System.out.println("你已退出系统");

}

static void show(){

System.out.println("------------------------欢迎来到点歌系统-----------------------------");

System.out.println("0.添加歌曲至列表");

System.out.println("1.将歌曲置顶");

System.out.println("2.将歌曲移至前一位");

System.out.println("3.退出");

}

static void Init(LinkedList MusicList)

{

MusicList.add("稻香");

MusicList.add("夜曲");

MusicList.add("夜的第七章");

MusicList.add("听妈妈的话");

MusicList.add("龙卷风");

System.out.println("初始歌曲列表:"+MusicList);

}

static void addMusic(LinkedList MusicList)

{

System.out.println("请输入你要添加的歌曲名称:");

Scanner scanner=new Scanner(System.in);

String MusicName=scanner.nextLine();

MusicList.add(MusicName);

System.out.println("已加入歌曲:"+MusicList.getLast());

System.out.println("当前歌曲列表"+MusicList);

}

static void moveMusicFirst(LinkedList MusicList)

{

System.out.println("请输入你要置顶歌曲的名称:");

Scanner scanner=new Scanner(System.in);

String MusicName=scanner.nextLine();

//判断有没有这首歌

for(Object i:MusicList)

{

if(i.equals(MusicName))

{

MusicList.remove(MusicName);

MusicList.addFirst(MusicName);

System.out.println("已将歌曲"+MusicList.getFirst()+"置顶");

return;

}

}

System.out.println("没有这首歌");

}

static void moveMusicBefore(LinkedList MusicList)

{

System.out.println("请输入你要置前歌曲的名称:");

Scanner scanner=new Scanner(System.in);

String MusicName=scanner.nextLine();

//判断有没有这首歌

for(int i=0;i

{

if((MusicList.get(i)).equals(MusicName))

{

MusicList.add(i-1,MusicName);

MusicList.remove(i+1);

System.out.println("已将歌曲"+MusicName+"置前");

return;

}

}

System.out.println("没有这首歌");

}

}

java点歌系统_Java实现模拟KTV点歌系统相关推荐

  1. java学习:模拟KTV点歌系统

    [目标] 学会分析"模拟KTV点歌系统"程序设计的实现思路. 根据思路独立完成"模拟KTV点歌系统"程序设计的源代码编写.编译及运行. 掌握ArrayList集 ...

  2. Java 使用LinkedList模拟KTV点歌系统,首先先添加若干歌曲,如果歌曲列表中已有该歌曲,则不加入,否则追加。`然后选择列表中的其中一首置顶,最后选择列表中一首歌曲前置一位。

    使用LinkedList模拟KTV点歌系统 该系统的任务是执行3个操作:首先先添加若干歌曲,如果歌曲列表中已有该歌曲,则不加入,否则追加.`然后选择列表中的其中一首置顶,最后选择列表中一首歌曲前置一位 ...

  3. Java实现模拟KTV点歌系统

    模拟KTV点歌系统 分别使用LinkedList和ArrayList集合,实现编写一个模拟KTV点歌系统的程序 KTVByArrayList.java import java.util.ArrayLi ...

  4. java基于ssm+vue的的KTV点歌歌曲播放系统 element

    KTV点歌系统的后台开发目标是以信息管理系统的管理和开发方法,用目前现有的新技术进行系统开发,提供后台管理员高度友好的界面操作以及迅捷的信息处理.而前台的开发目标是以用户的需求作为主导,提供对用户而言 ...

  5. 音创a55怎么安装系统_音创ktv点歌系统_音创点歌机怎么样_音创ktv点歌系统a55

    音创KTV点歌系统是一款非常易用的电脑KTV点歌软件.本软件能够帮助KTV经营商非常方便地大点KTV点歌管理系统,同时也很适合家庭个人用户使用,支持海量的视频.音频格式,拥有全面的点歌功能. 1.点歌 ...

  6. Java基于JSP的网络音乐KTV点歌电台网站

    随着我国网民的增加,也促进了网络音乐电台的开发.随着网络技术的发展,人们在利用网络学习的同时,也在享受着网络带来的各种附带产品所产生的效应,如网络游戏,网络歌曲.网络音乐电台正是在这样的需求前提下应运 ...

  7. java模拟KTV点歌系统

    上面的案例启示是对集合类的一个巩固,代码如下: package cn.csdn.ktv;import java.util.LinkedList; import java.util.Scanner;pu ...

  8. java门禁系统_java项目:门禁系统

    门禁系统 门禁系统:包和文件划分 system包 Computer.java package com.handson.sys; import com.handson.validate.CardVld; ...

  9. java环形数组_Java数组模拟环形队列

    1.假溢出 ​系统作为队列用的存储区还没有满,但队列却发生了溢出,我们把这种现象称为"假溢出". 因为队列遵从从队尾存入数据,从队头取数据,所以红框部分的空间就不能继续存入新的数据 ...

  10. java电影定票系统_Java实现电影院订票系统代码

    程序是为了方便用户使用的,因此实现图形化界面的程序编写是所有编程语言发展的必然趋势...但是由于时间原因,小编并未在代码中添加可视化图形界面,有兴趣的朋友可自行添加. 可参阅:Java图形化界面设计之 ...

最新文章

  1. FPGA+DSP SRIO通信(一)——DSP端参数设置(通道)
  2. R语言实战应用精讲50篇(十八)-R语言实现分词、词频与词云案例解析
  3. android显示服务器端文件夹,Android上传文件到服务端并显示进度条
  4. ring0 ring3 kernel driver
  5. git version是什么软件_Deepin 15.11 安装 ZoneMinder 视频监控软件
  6. [JS] IE下ajax请求不生效或者请求结果不更新
  7. 《RabbitMQ 实战指南》第三章 客户端开发向导
  8. LeetCode刷题(34)-Rotate List
  9. 2014-07-22 如何成为一名合格的职业人士
  10. js中运算符的优先级
  11. 联想启天M439E BIOS升级为F1KT74AUS
  12. ir2110s驱动工作原理
  13. 双人对战的球类游戏ios源码项目
  14. 深度学习系列之Anchor based 和 Anchor free 目标检测方法
  15. JavaEE | 集合2之Map
  16. 微信公众平台测试账号申请
  17. protobuf 3.5 java使用介绍(二)
  18. 多御安全浏览安卓版升级尝鲜,新增下载管理功能
  19. 全球首发!惯性导航导论(剑桥大学)第三部分
  20. 简单的YouTube菜单效果

热门文章

  1. excel如何去重统计户数_Excel如何去重,然后统计数据?_excel提取数据并去重
  2. 管理驾驶舱,老板的数据看板,移动报表,让数据更直观
  3. es3,es5语法记要
  4. Docker1.8 官方中文文档
  5. 定量/高光谱遥感之——光谱分析技术
  6. python 序列类型是二维元素向量,测验6: 组合数据类型 (第6周)
  7. 三种方法求解Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1,当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
  8. CentOS 7.4 初次手记:第三章 CentOS基础了解
  9. 洞察Tungsten Fabric内部的XMPP
  10. 服务器磁盘配置信息,服务器磁盘阵列配置