KTV点歌系统------LinkedList
时间:2019-11-12
本文章向大家介绍KTV点歌系统------LinkedList,主要包括KTV点歌系统------LinkedList使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
代码:
1 import java.util.LinkedList; 2 import java.util.Scanner; 3 import java.util.Set; 4 5 public class KTVByLinkedList { 6 public static void main(String[] args) { 7 System.out.println("---------------欢迎来到点歌系统----------------"); 8 System.out.println("0.添加歌曲到歌曲列表中"); 9 System.out.println("1.将歌曲置顶"); 10 System.out.println("2.将歌曲向前移一位"); 11 System.out.println("3.退出"); 12 LinkedList linkedList = new LinkedList(); 13 addMusicList(linkedList); 14 while (true){ 15 Scanner sc = new Scanner(System.in); 16 int command = sc.nextInt(); 17 switch (command){ 18 case 0: 19 // 如果是0的话 调用添加歌曲的方法到歌曲列表中 20 addMusic(linkedList); 21 break; 22 // 如果是1的话 调用歌曲置顶的方法将歌曲置顶 23 case 1: 24 SetTop(linkedList); 25 break; 26 // 如果是2的话 调用歌曲置顶的方法将歌曲向前移一位 27 case 2: 28 SetBefore(linkedList); 29 break; 30 // 如果是3的话 调用歌曲置顶的方法进行退出 31 case 3: 32 exit(); 33 break; 34 default: 35 System.out.println("-------------------------------------------"); 36 System.out.println("sorry,功能选择有误,请输入正确的功能序号!"); 37 break; 38 } 39 System.out.println("当前歌曲列表是:"+linkedList); 40 } 41 } 42 public static void exit() { 43 System.out.println("---------------退出---------------"); 44 System.out.println("您已退出系统!"); 45 System.exit(0); 46 } 47 // 执行将歌曲进行往前移一位的方法 48 public static void SetBefore(LinkedList linkedList) { 49 System.out.println("请输入您想要前移歌曲的名称:"); 50 Scanner sc = new Scanner(System.in); 51 String MusicName = sc.nextLine(); 52 int position = linkedList.indexOf(MusicName); 53 if (position<0){//不存在 54 System.out.println("当前列表中没有您输入的歌曲……"); 55 } 56 // 判断歌曲是否在第一位上 57 else if (position == 0) { 58 System.out.println("您选择的歌曲已经是第一位了"); 59 }else { 60 // 移除指定的歌曲 61 linkedList.remove(MusicName); 62 // 将指定的歌曲放到前一位上去 63 linkedList.add(position -1, MusicName); 64 } 65 System.out.println("您选中的歌曲"+MusicName+"已经往前移动一位了"); 66 } 67 // 执行将歌曲置顶的方法 有查询歌曲的功能 68 public static void SetTop(LinkedList linkedList) { 69 System.out.println("请输入您想要置顶歌曲的名称:"); 70 Scanner sc = new Scanner(System.in); 71 String MusicName = sc.nextLine(); 72 // 指定某首歌曲的位置 73 int position = linkedList.indexOf(MusicName); 74 // 进行判断是否寻找这首歌曲 75 if (position < 0) {//不存在 76 System.out.println("当前列表中没有您输入的歌曲……"); 77 } else { 78 // 移除指定的歌曲 79 linkedList.remove(MusicName); 80 // 将指定的歌曲放在第一位 81 linkedList.addFirst(MusicName); 82 System.out.println("您选中的歌曲" + MusicName + "已进行置顶"); 83 } 84 } 85 // 执行添加歌曲的方法 86 public static void addMusic(LinkedList linkedList) { 87 System.out.println("请输入您想要添加歌曲的名称:"); 88 Scanner sc = new Scanner(System.in); 89 String MusicName = sc.nextLine(); 90 linkedList.addLast(MusicName); 91 System.out.println("已添加的歌曲是:"+ MusicName); 92 } 93 // 初始化添加歌曲列表 94 public static void addMusicList(LinkedList linkedList) { 95 linkedList.add("成都"); 96 linkedList.add("理想"); 97 linkedList.add("小草"); 98 System.out.println("歌曲列表有:"+ linkedList); 99 } 100 }
原文地址:https://www.cnblogs.com/wangjixue/p/11840686.html
- thinkcmf安装教程与目录结构详解 快速上手版
- finecms如何批量替换文章中的关键词?
- dedecms批量修改文章为待审核稿件怎么操作
- 群体智能算法-黏菌寻找食物最优路线行为模拟
- finecms设置伪静态后分享到微信不能访问怎么处理
- composer安装其实可以很简单 两行命令就解决了
- 章神的私房菜之数据预处理
- 如何调用finecms指定栏目的描述关键词
- finecms栏目文章页seo设置
- Logistic回归实战篇之预测病马死亡率(一)
- DedeCMS后台500错误一种原因是不支持PHP5.3、5.4及以上版本
- finecms指定从第几篇文章开始调用5条记录,并调用文章所在栏目
- finecms如何调用多个栏目的子栏目
- 从傅立叶变换到Gabor滤波器
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux程序运行时加载动态库失败的解决方法
- Linux/CentOS系统同步网络时间的2种方法详解
- Linux 常用命令之Linux more命令使用方法
- Ubuntu下VIM配置成C++开发编辑器
- Ubuntu环境下使用G++编译CPP文件
- Linux下Tomcat的几种运行方式讲解
- linux中chmod命令用法详解
- Linux强制释放占用端口以及Linux防火墙端口开放方法详解
- CentOS7.5从零安装Python3.6.6的教程详解
- 实现一台或者多台Linux实例解绑SSH密钥对
- centos7切换启动内核与切换启动模式的讲解
- Ubuntu下Sublime Text无法输入中文最简单的解决方案
- 详解linux系统输入输出管理和vim的常用功能
- 查看远程 Linux 系统中某个端口是否开启的三种方法
- Linux使用iptables限制多个IP访问你的服务器