首页>代码>java控制台输出音乐管理系统>/控制台输出音乐管理系统/Test.java
package manage;

import java.util.Scanner;

/*测试系统类
 *功能:实例化系统界面对象即可
 */
public class Test {
	 
    public static void main(String[] args) {
        MainFrame mainFrame = new MainFrame();
    }
	static class Music {
	    //歌名
	    private String name;
	    //歌手
	    private String musicPlayer;
	    //歌长
	    private double musicTime;
	    //标记歌曲的状态变量(由于数组定长 ,打标记的方法实现删除false默认正常true删除)
	    private boolean isDelete;
	    public Music() {
	        this("","",0);
	    }
	    //带参数的构造方法
	    public Music(String name,String player,double time) {
	        this.name = name;
	        this.musicPlayer = player;
	        this.musicTime = time;
	    }
	    //set get方法
	    public String getName() {
	        return name;
	    }
	    public void setName(String name) {
	        this.name = name;
	    }
	    public String getMusicPlayer() {
	        return musicPlayer;
	    }
	    public void setMusicPlayer(String musicPlayer) {
	        this.musicPlayer = musicPlayer;
	    }
	    public double getMusicTime() {
	        return musicTime;
	    }
	    public void setMusicTime(double musicTime) {
	        this.musicTime = musicTime;
	    }
	    
	    public boolean isDelete() {
	        return isDelete;
	    }
	 
	    public void setDelete(boolean isDelete) {
	        this.isDelete = isDelete;
	    }
	 
	    //打印方法(歌名 歌手 歌长)
	    @Override
	    public String toString() {
	        return "Music [name=" + name + ", musicPlayer=" + musicPlayer + ", musicTime=" + musicTime + "]";
	    }
	    
	}
	static class MusicList {
		    // 定义歌曲数组
		    Music[] musicsArray;
		 
		    public MusicList() {
		        // 实例化歌曲数组
		        musicsArray = new Music[5];
		        // 调用初始化方法
		        initMusicArray();
		    }
		 
		    // 私有的方法初始化歌单
		    private void initMusicArray() {
		        // 构造方法实例化一个对象,然后添加到数组
		        Music music1 = new Music("平凡的一天", "毛不易", 240.0);
		        musicsArray[0] = music1;
		        Music music2 = new Music("北京欢迎你", "群星", 345.0);
		        musicsArray[1] = music2;
		    }
		 
		    // 歌单打印
		    public void musicPrint() {
		        // 遍历数组
		        for (int i = 0; i < musicsArray.length; i++) {
		            Music music = musicsArray[i];
		            if (music != null) {
		                System.out.println(music);
		            }
		        }
		    }
		    // 添加歌曲
		    public void musicAdd() {
		        System.out.println("请输入歌曲名称");
		        
		        String musicName = new Scanner(System.in).next();
		        System.out.println("请输入演唱者");
		        String musicPlayer = new Scanner(System.in).next();
		        System.out.println("请输入歌曲时长");
		        double musicPayer = new Scanner(System.in).nextDouble();
		        // 封装对象
		        Music music = new Music(musicName, musicPlayer, musicPayer);
		        // 调用对象添加方法
		        boolean b = add(music);
		        // 判断b
		        if (b) {
		            System.out.println("添加成功");
		        } else {
		            System.out.println("添加失败");
		        }
		 
		    }
		    // 添加歌曲对象
		    public boolean add(Music music) {
		        // 调用索引方法查看空索引
		        int index = searchEmptyIndex();
		        // 找到空索引
		        if (index != -1) {
		            musicsArray[index] = music;
		            return true;
		        }
		        return false;
		    }

		 
		    // 查询索引
		    private int searchEmptyIndex() {
		        for (int i = 0; i < musicsArray.length; i++) {
		            Music music = musicsArray[i];
		            // 当前位置为空,返回当前下标,用来把保存新的歌曲对象
		            if (music == null) {
		                return i;
		            }
		        }
		        return -1;
		    }
		 
		}
	static class MainFrame {
	    //创建歌单对象
	    MusicList musicList;
	    //构造器
	    public MainFrame() {
	        musicList = new MusicList();
	        initFrame();
	    }
	    //初始化界面
	    public void initFrame() {
	        System.out.println("=================欢迎使用音乐系统=================");
	        System.out.println();
	        //while循环系统一直可以操作,知道输入0
	        while(true) {
	            System.out.print("1:查看歌单"+"  ");
	            System.out.print("2:添加歌曲"+"  ");
	            System.out.println("0:退出    ");    
	            System.out.println();
	            System.out.println("请选择你要执行的操作");
	            //匿名类创建键盘输入对象 ,获取键盘输入
	             Scanner sc= new Scanner(System.in);
	            int input = sc.nextInt();
	            switch(input) {
	            case 1:
	                //调用查看歌单方法
	                System.out.println("*********************查看歌单*********************");
	                musicList.musicPrint();
	                System.out.println("================================================");
	                break;
	            case 2:
	                //调用添加歌曲方法
	                System.out.println("*********************添加歌曲*********************");
	                musicList.musicAdd();
	                System.out.println("================================================");
	                break;
	            case 0:
	                System.out.println("******************欢迎下次使用,再见!****************");
	                return;
	            default :
	                System.out.println("!!!!!!!输入序号有误,重新选择!!!!!!");
	                break;
	            }
	        }
	    }
	}

}
 
最近下载更多
huangtian  LV3 2023年6月24日
微信网友_6297217905807360  LV2 2023年1月9日
15342201772  LV7 2022年12月4日
18871201024  LV4 2022年12月2日
微信网友_6013389878005760  LV3 2022年9月19日
sxgszx  LV1 2022年6月17日
Rommel  LV27 2021年6月26日
最代码官方  LV167 2021年6月19日
最近浏览更多
glennwei  LV2 前天
WBelong  LV7 3月29日
sssszz 3月22日
暂无贡献等级
1203093322 2023年12月31日
暂无贡献等级
Kaiaahh  LV1 2023年12月30日
asddwh  LV12 2023年12月26日
1790759671 2023年11月1日
暂无贡献等级
Chuiwaitim  LV2 2023年10月18日
15066671558 2023年10月10日
暂无贡献等级
wersdfs  LV1 2023年9月4日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友