首页 > 技术文章 > Java-KTVByLinkedList模拟点歌工具

zmqzmq828 2020-05-22 20:49 原文

import java.util.LinkedList;
import java.util.Scanner;
public class KTVByLinkedList {
    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.退出");
        System.out.println("4.删除");
        LinkedList lineUpList = new LinkedList();
        addMusicList(lineUpList);
        while(true) {
            System.out.print("请输入要执行的操作序号:");
            Scanner scan = new Scanner(System.in);
            int command = scan.nextInt();
            switch(command) {
            case 0:
                addMusic(lineUpList);
                break;
            case 1:
                setTop(lineUpList);
                break;
            case 2:
                setBefore(lineUpList);
                break;
            case 3:
                exit();
                break;
            case 4:
                deleteMusic(lineUpList);
                break;
                default:
                    System.out.println("--------------------------------------");
                    System.out.println("功能选择有误,请输入正确的功能序号!");
                    break;
            }
            System.out.println("当前歌曲列表:"+ lineUpList);
        }
    }
    private static void addMusicList(LinkedList lineUpList) {
        lineUpList.add("稻香");
        lineUpList.add("夜曲");
        lineUpList.add("夜的第七章");
        lineUpList.add("听妈妈的话");
        lineUpList.add("龙卷风");
        lineUpList.add("初始歌曲列表:" + lineUpList);
    }
    private static void addMusic(LinkedList lineUpList) {
        System.out.print("请输入要添加的歌曲名称:");
        String musicName = new Scanner(System.in).nextLine();
        lineUpList.addLast(musicName);
        System.out.println("已添加歌曲:"+musicName);
    }
    private static void setTop(LinkedList lineUpList) {
        System.out.print("请输入要置顶的歌曲名称:");
        String musicName = new Scanner(System.in).nextLine();
        int position =lineUpList.indexOf(musicName);
        if(position<0) {
            System.out.println("当前列表中没有输入的歌曲!");
        }
        else {
            lineUpList.remove(musicName);
            lineUpList.addFirst(musicName);
        }
        System.out.println("已将歌曲"+musicName+"置顶");
    }
    private static void setBefore(LinkedList lineUpList) {
        System.out.print("请输入要置前的歌曲名称:");
        String musicName = new Scanner(System.in).nextLine();
        int position =lineUpList.indexOf(musicName);
        if(position<0) {
            System.out.println("当前列表中没有输入的歌曲!");
        }
        else if(position == 0) {
            System.out.println("当前歌曲已在最顶部!");
        }
        else {
            lineUpList.remove(musicName);
            lineUpList.add(position -1, musicName);
        }
        System.out.println("已将歌曲"+musicName+"置前一位");
    }
    private static void deleteMusic(LinkedList lineUpList) {
        System.out.print("请输入要删除的歌曲名称:");
        String musicName = new Scanner(System.in).nextLine();
        lineUpList.remove();
        System.out.println("已删除歌曲:"+ musicName);
    }
    private static void exit() {
        System.out.println("----------------退出-------------------");
        System.out.println("您已退出系统");
        System.exit(0);
    }
}

推荐阅读