我是Java的新手,目前在Bluej工作。我有一个问题我无法解决,并希望有人帮助我。
提前谢谢大家!
我有这两个班。歌曲和音频CD。我需要在AudioCD中写下这个方法:
"如果添加此歌曲后光盘的长度低于maxLength中存储的最大长度,我需要写下一个方法,将新的歌曲添加到光盘。 '
public class Song{
//Fields
private String name;
private int length; // in minutes
//Constructor
public Song (String name, int length)
{this.name=name;
this.length=length;}
//Return methods
public String GiveName()
{return name;}
public int GiveLength()
{return length;}}
另一个是:
import java.util.ArrayList;
public class AudioCD
{//Fields
private String name;
private String singer;
private int length;
private int maxLength;
private ArrayList<Song> songs;
//Constructor
public AudioCD(String name, String singer, int maxLength)
{this.name=name;
this.length=length;
this.maxLength=maxLength;
length=0;
songs=new ArrayList<Song>();}
}
我试过这两种方法:
public void addSong(String Name, int songlength)
{if ((length+songlength)<maxLength) {songs.add(Name);}}
但这只是给我一个信息:
我试过的另一个:
public void addSong(Song Name, int songlength)
{if ((length+songlength)<maxLength) {songs.add(Name);}}
当我编译它时,没关系。但是在创建新对象时,我无法为Song键入任何参数。
请帮忙。 :|
答案 0 :(得分:0)
我不确定你正在尝试做什么,但是如果你将ArrayList更改为键入<String>
而不是Song
对象,你只需追加即可歌曲的名称属性(因为它是一个字符串)来自songs.add(songObject.name)
我假设你只想让ArrayList包含歌曲的names