java - 它没有显示专辑中的所有歌曲
问题描述
package com.company;
import java.util.ArrayList;
public class JukeBox {
public String Singer_Name;
ArrayList<Album>Albums;
public JukeBox(String singer_Name) {
Singer_Name = singer_Name;
this.Albums=new ArrayList<Album>();
}
public boolean CreatAlbum(String Album_Name){
if(findAlbum(Album_Name)==null){
this.Albums.add(new Album(Album_Name));
return true;
}
return false;
}
public boolean addSongs(String Album_Name,String Singer_Name,float Song_Duration,String released_Day){
Album Alb = findAlbum(Album_Name);
if(Alb!=null){
Alb.Creeat(Singer_Name,Song_Duration,released_Day);
return true;
}
return false;
}
public void AlbumNames(){
for(Album Alb:this.Albums){
System.out.println(Alb.getAlbum_Name());
}
}
private Album findAlbum(String Album_Name){
for(int i=0;i<this.Albums.size();i++){
Album Alb=this.Albums.get(i);
if(Alb.getAlbum_Name().equals(Album_Name))
return Alb;
}
return null;
}
public boolean AlbumSOngs(String Album_Name){
Album Alb = findAlbum(Album_Name);
if(Alb!=null){
System.out.println("Songs in Album "+Alb.getAlbum_Name());
ArrayList<Songs>SongList= Alb.getSongs();
for(int i=0;i<SongList.size();i++){
System.out.println(SongList.get(i).Song_Name);
return true;
}
}
return false;
}
}
//Album Class
package com.company;
import java.util.ArrayList;
public class Album {
public String Album_Name;
ArrayList<Songs>songs;
public Album(String album_Name) {
Album_Name = album_Name;
this.songs=new ArrayList<Songs>();
}
public boolean Creeat(String Song_Name,float Song_duration,String releasedDay ){
if(findSong(Song_Name)==null){
this.songs.add(new Songs(Song_Name,Song_duration,releasedDay));
return true;
}
return false;
}
private Songs findSong(String Song_Name){
for (int i = 0; i < this.songs.size(); i++) {
Songs song = this.songs.get(i);
if (song.getSong_Name().equals(Song_Name)) {
return song;
}
}
return null;
}
public String getAlbum_Name() {
return Album_Name;
}
public ArrayList<Songs> getSongs() {
return songs;
}
}
//Song Class
package com.company;
public class Songs {
public String Song_Name;
public float Song_duration;
public String Song_releasedDay;
public Songs(String song_Name, float song_duration, String song_releasedDay) {
Song_Name = song_Name;
Song_duration = song_duration;
Song_releasedDay = song_releasedDay;
}
public String getSong_Name() {
return Song_Name;
}
}
我不确定为什么它不显示专辑中的所有歌曲名称但是当我尝试显示所有专辑名称时它工作得很好但是每当我尝试打印任何专辑中的歌曲时它只显示第一首歌曲名称专辑并忽略重置点唱机类在数组列表中有专辑专辑类在数组列表中有歌曲...
解决方案
推荐阅读
- regex - 使用 htaccess 编辑查询字符串
- vba - 如果 olMail.Body = str1 + str2,则更改 olMail.Body 字体名称和字体大小
- javascript - 在 mongoose schema.save 中更新 `let` 变量
- angularjs - AngularJS,嵌套数组
- linux - 如何在内核模块 Makefile 中提供包含目录路径
- reactjs - 如何生成 vendor.css 和 vendor.js 文件?
- java - JPA 检索带有空格的枚举
- python - 熊猫更改列日期格式
- ios - 在 UILabel iOS 中的点后显示带有两位小数的浮点值时遇到问题
- javascript - 如何防止 setInterval 函数在 Javascript 中执行两次?