写一个点歌器

时间:2023-02-24 00:09:04
package iit.cn.demo6_1_1;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Scanner;

/*
 * 
 */
public class KTVbyArrayList {
    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.退出系统");
        
        ArrayList lineUpList=new ArrayList();   //创建歌曲列表
        addMusicList(lineUpList);//初始化列表
        
        while(true) {             //一直循环执行此操作,直到退出系统
            System.out.println("请选择要执行的操作:");
            Scanner scan= new Scanner(System.in);
            int i=scan.nextInt();      //接受键盘输入的指令
            switch(i) {
                case 0:  //  添加歌曲至列表
                    addMusic(lineUpList);
                    break;
                case 1:  //将所选歌曲置顶
                    setTop(lineUpList);
                    break;
                case 2:   //所选歌曲提前一位
                    setBefore(lineUpList);
                    break;
                case 3:  
                    exit();//退出系统
                    break;
                default:
                    System.out.println("--------------------");
                    System.out.println("指令错误!请输入正确的指令");
                    break;
            }
            System.out.println("当前歌曲列表:"+lineUpList);
            System.out.println("--------------------------");
            System.out.println();
       }
   }
   
   //歌曲初始化
   public static void addMusicList(ArrayList lineUpList) {
       lineUpList.add("稻香");
       lineUpList.add("夜曲");
       lineUpList.add("听妈妈的话");
       lineUpList.add("夜的第七章");
       lineUpList.add("龙卷风");
       System.out.println("当前歌曲列表:"+lineUpList); 
      
   }
   
   //执行添加歌曲
   public static void addMusic(ArrayList lineUpList) {
       System.out.println("请输入要添加的歌曲:");
       String musicName=new Scanner(System.in).nextLine();
       lineUpList.add(musicName);   //将歌曲添加到最后
       
   }
   
   //将歌曲置顶
   public static void setTop(ArrayList lineUpList) {
       System.out.println("请选择要置顶的歌曲:");
       String name=new Scanner(System.in).nextLine();
       int position=lineUpList.indexOf(name);  //判断歌曲的位置
       
       if(position<0) {
           System.out.println("歌曲不存在");
       }else {
           lineUpList.add(0,name);
           lineUpList.remove(position);
       }
      
   }
   
   //选中歌曲向前一位
   public static void setBefore(ArrayList lineUpList) {
       System.out.println("请选择要向前移的歌曲:");
       String name=new Scanner(System.in).nextLine();
       int index=lineUpList.indexOf(name);
       if(index<0) {
           System.out.println("没有此歌曲");
       }else {
           lineUpList.remove(index);
           lineUpList.add(index-1, name);
           
       }
   }
   //退出系统
   public static void exit() {
       System.out.println("--------------退出-------------");
       System.out.println("您已退出系统!");
       System.exit(0);
   }
}