Java实现模拟KTV点歌系统
模拟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<String> MusicList=new ArrayList<String>();
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<String> MusicList)
{
MusicList.add("稻香");
MusicList.add("夜曲");
MusicList.add("夜的第七章");
MusicList.add("听妈妈的话");
MusicList.add("龙卷风");
System.out.println("初始歌曲列表:"+MusicList);
}
static void addMusic(ArrayList<String> 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<String> 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<String> MusicList)
{
System.out.println("请输入你要置前歌曲的名称:");
Scanner scanner=new Scanner(System.in);
String MusicName=scanner.nextLine();
//判断有没有这首歌
for(int i=0;i<MusicList.size();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<String> MusicList=new LinkedList<String>();
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<String> MusicList)
{
MusicList.add("稻香");
MusicList.add("夜曲");
MusicList.add("夜的第七章");
MusicList.add("听妈妈的话");
MusicList.add("龙卷风");
System.out.println("初始歌曲列表:"+MusicList);
}
static void addMusic(LinkedList<String> 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<String> 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<String> MusicList)
{
System.out.println("请输入你要置前歌曲的名称:");
Scanner scanner=new Scanner(System.in);
String MusicName=scanner.nextLine();
//判断有没有这首歌
for(int i=0;i<MusicList.size();i++)
{
if((MusicList.get(i)).equals(MusicName))
{
MusicList.add(i-1,MusicName);
MusicList.remove(i+1);
System.out.println("已将歌曲"+MusicName+"置前");
return;
}
}
System.out.println("没有这首歌");
}
}
浙公网安备 33010602011771号