2016-06-13 5 views
0

私はJavaを初めて使い、現在Bluejで作業しています。私は解決できない問題があり、私を助けてくれる人に感謝しています。ArrayListのメソッドを動作させることができません

ありがとうございました!

私はこれらの2つのクラスを持っています。ソングとオーディオCD。

"この曲を追加した後のディスクの長さが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;}} 

そしてもう一つは、次のとおりです。

public void addSong(String Name, int songlength) 
{if ((length+songlength)<maxLength) {songs.add(Name);}} 

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>();} 

} 

私はこれらの2つの方法を試してみました

しかしこれはちょうど私にメッセージを得ます:

  1. add(java.lang.String);の適切なメソッドは見つかりませんでした。
  2. メソッドjava.util.Collection.add(Song)は適用されません。
  3. (引数の不一致; java.lang.Stringをソングに変換できません);私が試した

その他1:

public void addSong(Song Name, int songlength) 
{if ((length+songlength)<maxLength) {songs.add(Name);}} 

私はそれをコンパイル

、その大丈夫。しかし、新しいオブジェクトを作成するときは、Songのパラメータを入力することはできません。

助けてください。 :|

答えて

0

正確にはわかりませんが、Songオブジェクトの代わりに<String>と入力してArrayListを変更すると、ソングのnameプロパティを追加することができます(文字列であるため) songs.add(songObject.name)

を経由して私はあなただけのArrayListは、曲のnamesを含むようにしたいと仮定しています

関連する問題