KTV点歌系统-------LinkedList

import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;

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.退出");
        LinkedList linkedList = new LinkedList();
        addMusicList(linkedList);
        while (true){
            Scanner sc = new Scanner(System.in);
            int command = sc.nextInt();
            switch (command){
                case 0:
//                    如果是0的话 调用添加歌曲的方法到歌曲列表中
                    addMusic(linkedList);
                    break;
//                    如果是1的话 调用歌曲置顶的方法将歌曲置顶
                case 1:
                    SetTop(linkedList);
                    break;
//                    如果是2的话 调用歌曲置顶的方法将歌曲向前移一位
                case 2:
                    SetBefore(linkedList);
                    break;
//                    如果是3的话 调用歌曲置顶的方法进行退出
                case 3:
                    exit();
                    break;
                default:
                    System.out.println("-------------------------------------------");
                    System.out.println("sorry,功能选择有误,请输入正确的功能序号!");
                    break;
            }
            System.out.println("当前歌曲列表是:"+linkedList);
        }
    }
    public static void exit() {
        System.out.println("---------------退出---------------");
        System.out.println("您已退出系统!");
        System.exit(0);
    }
//    执行将歌曲进行往前移一位的方法
    public static void SetBefore(LinkedList linkedList) {
        System.out.println("请输入您想要前移歌曲的名称:");
        Scanner sc = new Scanner(System.in);
        String MusicName =  sc.nextLine();
        int position = linkedList.indexOf(MusicName);
        if (position<0){//不存在
            System.out.println("当前列表中没有您输入的歌曲……");
        }
//            判断歌曲是否在第一位上
        else if (position == 0) {
            System.out.println("您选择的歌曲已经是第一位了");
        }else {
//            移除指定的歌曲
            linkedList.remove(MusicName);
//            将指定的歌曲放到前一位上去
            linkedList.add(position -1, MusicName);
        }
        System.out.println("您选中的歌曲"+MusicName+"已经往前移动一位了");
    }
//    执行将歌曲置顶的方法  有查询歌曲的功能
    public static void SetTop(LinkedList linkedList) {
        System.out.println("请输入您想要置顶歌曲的名称:");
        Scanner sc = new Scanner(System.in);
        String MusicName = sc.nextLine();
//        指定某首歌曲的位置
        int position = linkedList.indexOf(MusicName);
//        进行判断是否寻找这首歌曲
        if (position < 0) {//不存在
            System.out.println("当前列表中没有您输入的歌曲……");
        } else {
//            移除指定的歌曲
            linkedList.remove(MusicName);
//            将指定的歌曲放在第一位
            linkedList.addFirst(MusicName);
            System.out.println("您选中的歌曲" + MusicName + "已进行置顶");
        }
    }
    //  执行添加歌曲的方法
    public static void addMusic(LinkedList linkedList) {
        System.out.println("请输入您想要添加歌曲的名称:");
        Scanner sc = new Scanner(System.in);
        String MusicName =  sc.nextLine();
        linkedList.addLast(MusicName);
        System.out.println("已添加的歌曲是:"+ MusicName);
    }
//    初始化添加歌曲列表
    public static void addMusicList(LinkedList linkedList) {
        linkedList.add("成都");
        linkedList.add("理想");
        linkedList.add("小草");
        System.out.println("歌曲列表有:"+ linkedList);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值