麻烦老师,帮我看一下这几个方法写的对吗
package com.music;
public class Song {
private String id;
private String name;
private String singer;
public Song(String id, String name, String singer) {
super();
this.id = id;
this.name = name;
this.singer = singer;
}
public Song() {}
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;
}
@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;
}
@Override
public boolean equals(Object obj) {
if(this == obj)
return true;
if(Song.class == obj.getClass()) {
Song song=(Song)obj;
return song.getId().equals(id);
}
return false;
}
@Override
public String toString() {
return "歌曲id:"+id+",歌曲名:"+name+",演唱者:"+singer;
}
}
-----------------------------------------------------------------------------------------
package com.music;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class PlayList {
private String playListName;//播放列表名称
private List<Song> musicList = new ArrayList<Song>();//播放列表歌曲集合
public PlayList(String playListName, List<Song> musicList) {
super();
this.playListName = playListName;
this.musicList = musicList;
}
public PlayList(List<Song> musicList) {
this.musicList = musicList;
}
public String getPlayListName() {
return playListName;
}
public void setPlayListName(String playListName) {
this.playListName = playListName;
}
public List<Song> getMusicList() {
return musicList;
}
public void setMusicList(List<Song> musicList) {
this.musicList = musicList;
}
/**
* 方法
*/
Scanner sc = new Scanner(System.in);
public void addToPlayList(Song song) {
System.out.println("请输入要添加的歌曲数量:");
int songNum = sc.nextInt();
for(int i=1;i<=songNum;i++) {
System.out.println("请输入歌曲id:");
String id = sc.next();
System.out.println("请输入歌曲名:");
String name = sc.next();
System.out.println("请输入演唱者:");
String singer = sc.next();
musicList.add(new Song(id,name,singer));
System.out.println("添加成功");
}
}
//显示方法
public void dipsplayAllSong() {
for(int i=0;i<musicList.size();i++) {
System.out.println("歌曲id:"+musicList.get(i).getId()+",歌曲名:"+musicList.get(i).getName()+",演唱者:"+musicList.get(i).getSinger());
}
}
//通过id查询歌曲
public Song searchSongById(String id) {
boolean flag = false;
//String str=null;
int i=0;
for( i=0;i<musicList.size();i++) {
if(musicList.get(i).getId().equals(id)) {
flag = true;
//str=musicList.get(i).getId();
break;
}
}
if(flag) {
System.out.println("找到了");
System.out.println(musicList.get(i));
}else {
System.out.println("没找到!");
}
return null;
}
//通过名称查询歌曲
public Song searchSongByName(String n) {
boolean flag = false;
int i;
for(i=0;i<=musicList.size();i++) {
if(musicList.get(i).getName().equals(n)) {
flag = true;
break;
}
}
if(flag) {
System.out.println("找到了");
System.out.println(musicList.get(i));
}else {
System.out.println("没找到");
}
return null;
}
//修改歌曲
public void updateSong(String id,Song song) {
boolean flag = false;
String n = null;//歌曲名称
String s = null;//演唱者
String d = null;
int i;
for(i=0;i<=musicList.size();i++) {
if(musicList.get(i).getId().equals(id)) {
flag = true;
d=id;
break;
}
}
if(flag) {
System.out.println("请输入修改后的歌曲名称:");
n = sc.next();
System.out.println("请输入修改后的演唱者:");
s = sc.next();
}else {
System.out.println("没找到你想修改的歌曲!");
}
song.setId(id);
song.setName(n);
song.setSinger(s);
musicList.set(i, song);
System.out.println("修改成功!");
}
}
-----------------------------------------------------------------------------------------package com.music;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
Song song = new Song();
Scanner sc = new Scanner(System.in);
List<Song> musicList = new ArrayList<Song>();
PlayList pl = new PlayList("主播列表",musicList);
pl.addToPlayList(song);
pl.dipsplayAllSong();
//通过id查询
// System.out.println("请输入要查询的id");
// String id=sc.next();
// pl.searchSongById(id);
//通过歌曲名称查询
System.out.println("请输入要查询的歌曲名称:");
String n=sc.next();
pl.searchSongByName(n);
System.out.println("请输入要修改的歌曲id:");
String id = sc.next();
pl.updateSong(id, song);
System.out.println("请输入要查询的歌曲名称:");
String c=sc.next();
pl.searchSongByName(c);
}
}
正在回答 回答被采纳积分+1
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星