java编写一个KTV管理系统,实现歌曲添加,下架,歌曲信息修改,歌曲信息查询
时间: 2023-09-25 13:12:03 浏览: 48
好的,我可以为您提供一个简单的KTV管理系统的Java代码框架,具体实现需要您根据需求进行完善和调整。以下是代码框架:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class KTVSystem {
// 定义一个歌曲列表
private static List<Song> songList = new ArrayList<Song>();
public static void main(String[] args) {
// 初始化歌曲列表
initSongList();
// 读取用户输入的操作命令
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入操作命令:1-添加歌曲,2-下架歌曲,3-修改歌曲信息,4-查询歌曲信息,0-退出系统");
int command = scanner.nextInt();
switch (command) {
case 1:
addSong();
break;
case 2:
removeSong();
break;
case 3:
modifySong();
break;
case 4:
querySong();
break;
case 0:
System.out.println("退出系统");
System.exit(0);
default:
System.out.println("无效的命令,请重新输入");
}
}
}
// 初始化歌曲列表
private static void initSongList() {
// TODO: 从文件或数据库中读取歌曲列表,并添加到songList中
}
// 添加歌曲
private static void addSong() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入歌曲名称:");
String name = scanner.nextLine();
System.out.println("请输入歌手名称:");
String singer = scanner.nextLine();
System.out.println("请输入歌曲时长(单位:秒):");
int duration = scanner.nextInt();
Song song = new Song(name, singer, duration);
songList.add(song);
System.out.println("添加歌曲成功");
}
// 下架歌曲
private static void removeSong() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要下架的歌曲名称:");
String name = scanner.nextLine();
boolean removed = false;
for (Song song : songList) {
if (song.getName().equals(name)) {
songList.remove(song);
removed = true;
break;
}
}
if (removed) {
System.out.println("下架歌曲成功");
} else {
System.out.println("未找到要下架的歌曲");
}
}
// 修改歌曲信息
private static void modifySong() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要修改的歌曲名称:");
String name = scanner.nextLine();
boolean modified = false;
for (Song song : songList) {
if (song.getName().equals(name)) {
System.out.println("请输入新的歌曲名称(留空表示不修改):");
String newName = scanner.nextLine();
if (!newName.isEmpty()) {
song.setName(newName);
}
System.out.println("请输入新的歌手名称(留空表示不修改):");
String newSinger = scanner.nextLine();
if (!newSinger.isEmpty()) {
song.setSinger(newSinger);
}
System.out.println("请输入新的歌曲时长(单位:秒,留空表示不修改):");
String durationStr = scanner.nextLine();
if (!durationStr.isEmpty()) {
int newDuration = Integer.parseInt(durationStr);
song.setDuration(newDuration);
}
modified = true;
break;
}
}
if (modified) {
System.out.println("修改歌曲信息成功");
} else {
System.out.println("未找到要修改的歌曲");
}
}
// 查询歌曲信息
private static void querySong() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要查询的歌曲名称:");
String name = scanner.nextLine();
boolean found = false;
for (Song song : songList) {
if (song.getName().equals(name)) {
System.out.println(song.toString());
found = true;
break;
}
}
if (!found) {
System.out.println("未找到要查询的歌曲");
}
}
}
class Song {
private String name;
private String singer;
private int duration; // 单位:秒
public Song(String name, String singer, int duration) {
this.name = name;
this.singer = singer;
this.duration = duration;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSinger() {
return singer;
}
public void setSinger(String singer) {
this.singer = singer;
}
public int getDuration() {
return duration;
}
public void setDuration(int duration) {
this.duration = duration;
}
public String toString() {
return "歌曲:" + name + ",歌手:" + singer + ",时长:" + duration + "秒";
}
}
```
在这个代码框架中,我们定义了一个 `Song` 类来表示歌曲,包含歌曲名称、歌手名称和时长三个属性,还定义了一个 `KTVSystem` 类来实现具体的操作命令。
在 `KTVSystem` 类中,我们使用 `Scanner` 类来读取用户的操作命令和输入参数,并根据不同的命令进行相应的操作。其中,添加歌曲、下架歌曲和修改歌曲信息操作都是在歌曲列表中查找和修改指定歌曲的信息,而查询歌曲信息操作则是根据歌曲名称来查找歌曲信息。
需要注意的是,这个代码框架中只是给出了一个简单的实现示例,具体实现需要根据具体的业务需求进行完善和调整。例如,可以将歌曲列表存储在文件或数据库中,还可以添加更多的操作命令和功能。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)