老师为什么我信息添加不了
public class Song { private String id;//歌曲编号 private String name;//歌曲名称 private String singer;//演唱者 public Song(){//无参的构造方法 } public Song(String id,String name,String singer){//带参的构造方法 this.id=id; this.name=name; this.singer =singer; } //set/get方法 public String getId() { return id; } public void setId(String id) { this.id = id; } 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; } //hashCode方法 @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((id == null) ? 0 : id.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((singer == null) ? 0 : singer.hashCode()); return result; } //equals方法 @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; Song other = (Song) obj; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; if (name == null) { if (other.name != null) return false; } else if (!name.equals(other.name)) return false; if (singer == null) { if (other.singer != null) return false; } else if (!singer.equals(other.singer)) return false; return true; } //toString方法 @Override public String toString() { return "Song [编号=" + id + ", 歌曲名=" + name + ", 演唱者=" + singer + "]"; } }
==========================================================
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class PlayList {
private String playListName;//播放器列表名称
List<Song> list=new ArrayList<Song>();
public PlayList(){//无参的构造方法
}
public PlayList(String playListName){//带参的构造方法,ArrayList musicList
this.playListName=playListName;
//this.musicList=musicList;
}
//set/get方法
public String getPlayListName() {
return playListName;
}
public void setPlayListName(String playListName) {
this.playListName = playListName;
}
//将歌曲添加到播放列表
public void addToPlayList(Song song){
list.add(song);
}
//显示播放列表中所有的歌曲
public void displayAllSong(){
Iterator<Song> it=list.iterator();
while(it.hasNext()){
Song song=it.next();
song.toString();
}
}
//通过ID查询歌曲
public void searchSongById(String id){
Iterator<Song> it=list.iterator();
while(it.hasNext()){
Song song=it.next();
if(id.equals(song.getId())){
System.out.println("有该歌曲");
song.toString();
}
}
}
//通过歌曲名查询歌曲
public void searchSongByName(String name){
Iterator<Song> it=list.iterator();
while(it.hasNext()){
Song song=it.next();
if(name.equals(song.getName())){
System.out.println("有该歌曲");
song.toString();
}
}
}
//修改歌曲
public void updateSong(int in,Song song){
list.set(in, song);
}
//删除歌曲
public void deleteSong(String id){
Iterator<Song> it=list.iterator();
while(it.hasNext()){
Song song=it.next();
if(id.equals(song.getId())){
list.remove(song);
System.out.println("以删除该歌曲");
}
}
}
//显示播放器中所有的歌曲
public void ShowAllSong(){
Iterator<Song> it=list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
}
}
==========================================================
import java.util.*;
public class PlayListCollection {
Map<String,PlayList> map=new HashMap<String,PlayList>();
Scanner in=new Scanner(System.in);
PlayList playList=new PlayList();
public PlayListCollection(){//带参的构造方法
}
//添加播放列表
public void addPlayList(String playListName){
map.put(playListName, playList);
}
//删除播放列表
public void deletePlayList(String playListName){
if(!map.containsKey(playListName)){
map.remove(playListName);
}else{
System.out.println("没有改播放器列表");
}
}
//通过名字查询
public PlayList searchPlayListByName(String PlayListName){
return null;
}
//显示所有播放列表名称
public void displayListName(){
Iterator<PlayList> it=map.values().iterator();
while(it.hasNext()){
System.out.println(it.next()+" ");
}
}
}
==========================================================
import java.util.Scanner;
public class TestDome {
/*
* 将歌曲添加到主播放列表
* 将歌曲添加到普通播放列表
* 通过歌曲名称查询播放列表中的歌曲
* 修改播放列表中的歌曲
* 删除播放列表中的歌曲
* 显示播放列表中的所有歌曲
* 导出歌单
* */
Scanner in=new Scanner(System.in);
PlayList playList=new PlayList();
//主菜单
public void mainMenu(){
}
//播放器列表管理菜单
public void playListMenu(){
System.out.println("请输入下面相应的数字进行操作");
while(true){
System.out.println("*********************************");
System.out.println("1、将歌曲添加到主播放列表"); System.out.println("2、将歌曲添加到普通播放列表");
System.out.println("3、通过ID查询播放列表中的歌曲"); System.out.println("4、通过歌曲名称查询播放列表中的歌曲");
System.out.println("5、修改播放列表中的歌曲"); System.out.println("6、删除播放列表中的歌曲");
System.out.println("7、显示播放列表中的所有歌曲"); System.out.println("8、导出歌单");
System.out.println("9、返回上一级");
System.out.println("*********************************");
int n=in.nextInt();
if(n==1){
System.out.println("将歌曲添加到主播放列表");
System.out.println("请输入要添加歌曲的数量");
int a=in.nextInt();
for(int i=0;i<a;i++){
System.out.println("请输入第"+(i+1)+"首歌曲");
System.out.println("请输入歌曲的ID");
String str1=in.next();
System.out.println("请输入歌曲的名");
String str2=in.next();
System.out.println("请输入演唱者");
String str3=in.next();
new Song(str1,str2,str3);
}
System.out.println("歌曲添加完毕");
}else if(n==2){
System.out.println("将歌曲添加到普通播放列表");
System.out.println("请输入要添加的播放列表名称");
String str=in.next();
if(str.equals(new PlayList().getPlayListName())){
}else{
System.out.println("没有找到该播放器列表,请先添加播放器列表");
}
}else if(n==3){
System.out.println("通过ID查询歌曲");
System.out.println("请输入要查询的ID");
new PlayList().searchSongById(in.next());
}else if(n==4){
System.out.println("通过歌曲名称查询歌曲");
System.out.println("请输入要查询的歌曲名称");
new PlayList().searchSongByName(in.next());
}else if(n==5){
System.out.println("修改播放列表中的歌曲");
System.out.println("请输入要修改歌曲的的位置");
int num=0;
try{
num=in.nextInt();
}catch(Exception e){
System.out.println("输入错误");
}
System.out.println("请输入歌曲的id");
String id=in.next();
System.out.println("请输入歌曲的名称");
String name=in.next();
System.out.println("请输入歌曲的演唱者");
String str=in.next();
Song song=new Song(id,name,str);
new PlayList().updateSong(num,song );
}else if(n==6){
System.out.println("删除播放列表中的歌曲");
System.out.println("请输入要删除歌曲的ID");
new PlayList().deleteSong(in.next());
}else if(n==6){
}else if(n==7){
}else if(n==8){
}else if(n==9){
new TestDome().test();
}
}
}
//播放器菜单
public void playerMenu(){
while(true){
System.out.println("*********************************");
System.out.println("**播放器管理***");
System.out.println("1、向播放器添加播放列表");
System.out.println("2、从播放器删除播放列表");
System.out.println("3、通过名字查找播放器列表信息");
System.out.println("4、显示所有播放器列表");
System.out.println("9、返回上一级菜单");
System.out.println("*********************************");
int n=in.nextInt();
if(n==1){
System.out.println("向播放器添加播放列表");
System.out.println("请输入要添加的播放器名称");
new PlayList().setPlayListName(in.next());
new PlayListCollection().addPlayList(new PlayList().getPlayListName());
System.out.println("添加完成");
}else if(n==2){
System.out.println("删除播放列表");
System.out.println("请输入要删除的播放器名称");
new PlayListCollection().deletePlayList(in.next());
System.out.println("删除完成");
}else if(n==3){
}else if(n==4){
new PlayListCollection().displayListName();
}else if(n==9){
new TestDome().test();
}
}
}
//主流程实现
public void test(){
System.out.println("*********************************");
System.out.println("**主菜单**");
System.out.println("1、播放列表管理");
System.out.println("2、播放器管理");
System.out.println("0、退出");
System.out.println("*********************************");
System.out.println("请输入下面相应的数字进行管理");
while(true){
int n=in.nextInt();
if(n==1){
new TestDome().playListMenu();
}else if(n==2){
new TestDome().playerMenu();
}else{
System.exit(0);
}
}
}
public static void main(String[] args){
new PlayList().setPlayListName("主播放列表");
new TestDome().test();
}
}
正在回答
System.out.println("向播放器添加播放列表"); System.out.println("请输入要添加的播放器名称"); new PlayList().setPlayListName(in.next()); new PlayListCollection().addPlayList(new PlayList().getPlayListName()); System.out.println("添加完成"); }else if(n==2){ System.out.println("删除播放列表"); System.out.println("请输入要删除的播放器名称"); new PlayListCollection().deletePlayList(in.next());
不要每次都实例化一个对象执行添加方法,用一个对象就不会出现数据丢失了,你试试
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星