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("没有这首歌");
    }
}
posted on 2021-01-10 22:49  Miranda2021  阅读(1776)  评论(0)    收藏  举报