Java中linked list集合实现KTV点歌台功能

//Java实现KTV点歌台基础功能

import java.util.*;

public class KTV

{

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 link = new LinkedList();

//添加歌单初始歌曲

link.add("fade");

link.add("sing for you");

link.add("i really like you");

link.add("Angel of eyes");

//每次都执行一次命令,并输出当前歌单

while (true)

{

SongMenu(link);

switch (input())

{

case 0:Addmusic(link);break;

case 1:Topmusic(link);break;

case 2:Beforemusic(link);break;

case 3:System.out.println("你已退出点歌");return;

}

}

}

//输出歌单歌曲

public static void SongMenu(LinkedList link){

System.out.println("当前歌单为:"+link);

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

}

//执行输入歌曲命令

public static int input(){

Scanner S = new Scanner(System.in);

return S.nextInt();

}

//执行添加歌曲命令

public static void Addmusic(LinkedList link){

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

Scanner scanner = new Scanner(System.in);

link.add(scanner.next());

System.out.println("已添加歌曲"+link.getLast());

}

//执行置顶歌曲的命令

public static void Topmusic(LinkedList link){

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

String name = new Scanner(System.in).nextLine();

//nextLine()------将此扫描仪扫描到当前行,并返回跳过的输入。

//Scanner S = new Scanner(System.in);

//String name = S.next();

if (!link.contains(name))

{

System.out.println("您输入的歌曲不在当前列表中!");

}else{

if (link.indexOf(name) == 0)

{

System.out.println("当前歌曲已经置顶");

}else{

link.remove(name);

link.add(0,name);

System.out.println("已置顶!");

}

}

}

//执行置前歌曲的命令

public static void Beforemusic(LinkedList link){

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

String name = new Scanner(System.in).nextLine();

//nextLine()------将此扫描仪扫描到当前行,并返回跳过的输入。

//Scanner S = new Scanner(System.in);

//String name = S.next();

int i = link.indexOf(name);

if (i < 0)

{

System.out.println("您输入的歌曲不在当前列表中!");

}else{

if (i == 0)

{

System.out.println("当前歌曲已经置顶");

}else{

link.remove(i);

link.add(i-1,name);

}

}

}

}

标签:Java,name,点歌台,KTV,System,link,println,歌曲,out

来源: https://blog.csdn.net/qq_45972826/article/details/111453539

java实现点歌操作_Java中linked list集合实现KTV点歌台功能相关推荐

  1. java的日期操作_java中对时间的操作详解

    代码演示: //数据库中去的日期 Date s = list.get(0).getSdate(); System.out.println(s);// Tue Apr 28 00:00:00 CST 2 ...

  2. java对集合的操作_Java中对List集合的常用操作

    目录: list中添加,获取,删除元素: list中是否包含某个元素: list中根据索引将元素数值改变(替换): list中查看(判断)元素的索引: 根据元素索引位置进行的判断: 利用list中索引 ...

  3. java数组编译后_Java中数组和集合的foreach操作编译后究竟是啥

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 今天和同事在关于 ...

  4. java list 拼音排序_java中实现List集合中对象元素按其属性的中文拼音排序

    java中List集合的元素是按照添加顺序排序的,我们在实际开发过程中,可能会遇到需要对其内容进行排序的场景,接下来对我遇到的场景所采用的解决方式做个总结. 一.业务场景 管理后台商户名称下拉列表,需 ...

  5. java arraylist静态初始化_Java 中初始化 List 集合的 6 种方式!

    1.常规方式 List languages = new ArrayList<>(); languages.add("Java"); languages.add(&quo ...

  6. java中有没有栈_Java中堆和栈有什么区别

    stack 和 heep 都是内存的一部分stack 空间小,速度比较快, 用来放对象的引用heep 大,一般所有创建的对象都放在这里.栈(stack):是一个先进后出的数据结构,通常用于保存方法(函 ...

  7. java底层 文件操作_JAVA的文件操作【转】

    11.3 I/O类使用 由于在IO操作中,需要使用的数据源有很多,作为一个IO技术的初学者,从读写文件开始学习IO技术是一个比较好的选择.因为文件是一种常见的数据源,而且读写文件也是程序员进行IO编程 ...

  8. java collectiongroup 类_Java中的collection集合类型总结

    java集合是java提供的工具包,包含了常用的数据结构:集合.链表.队列.栈.数组.映射等.java集合工具包位置是java.util.* java集合主要可以划分为4个部分:list列表.set集 ...

  9. Java字符串的重要性_java中的字符串相关知识整理

    字符串就是一系列的字符组合的串,如果写过C/C++的应该就了解,在字符串的操作上会有许多操作的函数与类,用于简化代码的开发.一方面是因为字符串在代码中会频繁用到,另一方面是因为字符串的操作非常麻烦. ...

最新文章

  1. 脚踏实地,自强不息——清华大学大数据软件团队2021年度先进个人风采展示
  2. Self20171218_TestNG+Maven+IDEA环境搭建
  3. 使用elasticsearch遇到的一些问题以及解决方法(不断更新)
  4. 在Linux下轻松玩转Samba服务器
  5. JavaEE企业级快速开发平台jeesite4的使用和快速搭建项目
  6. Scala 空返回值Unit
  7. MySQL多元复制_MySQL多源复制解决方案
  8. 面向小姐姐的编程——java面向对象之final、static关键字
  9. 最小生成树唯一吗_最小生成树 - 齐芒
  10. python面试题(6)--- read、readline和readlines的区别
  11. css对于文字过长加省略号
  12. Jetson TX2开发板的调试笔记
  13. Vue.js起手式+Vue小作品实战
  14. Tomcat WBE 服务器详细配置
  15. Linux Lite下打印机驱动安装及针式打印机校准
  16. 无线传感网学习笔记(5)—— MAC协议的设计目标 和 LEACH协议
  17. 微信小程序开发——最新网络流行语(前言)
  18. 原来,嵌入式BI方案的核心差异在这,教你如何评估
  19. AndroidStudio haxm installer win10安装失败问题建议
  20. 渗透测试之信息收集 -tryhackme-Content Discovery

热门文章

  1. linux to go把linux系统装进U盘里随插随用
  2. c++计算二维数组的鞍点
  3. RFID人员定位设备具体配置
  4. 微信安卓最新 7.0.22 版本来了,赶紧抢先内测体验吧!美颜,连麦,刷礼物统统来了...
  5. ASP.NET动态加载CSS文件
  6. wifi分析仪怎么看哪个信道好_无线路由器选择哪个信道上网更快以获得最佳WIFI体验...
  7. atitit. 管理哲学 大毁灭--- 如何防止企业的自我毁灭
  8. android xmlpullparser 编译出错,将Android支持库更新为23.2.0导致错误:XmlPullParserException...
  9. Python从无到有搭建接口(API)自动化测试框架
  10. Python爬虫 - wallhaven任意页面下的壁纸批量下载