每日一练:利用多态思想和ArrayList集合,编写一个模拟KTV点歌系统的程序。【多态思想和ArrayList集合的综合应用】

一、设计程序

使用ArrayList集合,编写一个模拟KTV点歌系统的程序。
  • 要求:
    • 输入0代表添加歌曲
    • 输入1代表将所选歌曲置顶
    • 输入2代表将所选歌曲提前一位
    • 输入3代表删除所选音乐
    • 输入4代表退出该系统
  • 效果展示
    在这里插入图片描述

  • 思路:
    • 歌曲类:歌曲名字
    • 歌单类:包含歌曲类,用ArrayList容器装起来
      • 增加歌曲
      • 删除歌曲
      • 移动歌曲
      • 查找歌曲
    • KTV类:包含歌单类
      • 输入歌曲
      • 输入操作数
      • 操作系统

参考代码
歌曲类
package day604.homework;

import java.util.Objects;

public class Song {
   
    private String name;// 歌曲名字

    public Song(String name) {
   
        this.name = name;
    }

    public String getName() {
   
        return name;
    }

    public void setName(String name) {
   
        this.name = name;
    }

    //重写equals 以便于集合ArrayList中contains方法判断歌单中是否包含输入的歌曲
    //因为contains底层是通过遍历ArrayList,再调用元素的equal的方法判等
    @Override
    public boolean equals(Object o) {
   
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Song song = (Song) o;
        return Objects.equals(name, song.name);
    }

    @Override
    public int hashCode() {
   
        return Objects.hash(name);
    }

    @Override
    public String toString() {
   
        return "Song{" +
                "name='" + name + '\'' +
                '}';
    }
}

歌单类
package day604.homework;

import java.util.ArrayList;

public class SongSheet {
   
    private final int SONG_SIZE = 4; // 默认歌单容量
    private  final
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值