麻烦老师,帮我看一下这几个方法写的对吗

麻烦老师,帮我看一下这几个方法写的对吗

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

登陆购买课程后可参与讨论,去登陆

1回答
提问者 爱吃肉片的哈利 2018-04-30 17:47:20

老师,删除怎么写

  • 删除方法可以直接调用remove方法移除相应歌曲就可以了~~~,在测试类中完成信息的录入~~
    2018-05-01 23:04:30
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师