2016-06-13 2 views
0

Я новичок в Java и в настоящее время работает в Bluej. У меня есть небольшая проблема, которую я не могу решить, и буду признателен, если кто-то поможет мне.Невозможно создать метод для работы ArrayList

Спасибо вам заранее!

У меня есть эти два класса. Песня и аудио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);}} 

Но это просто получаю сообщение:

  1. Не найдено подходящего метода для добавления (java.lang.String);
  2. Способ java.util.Collection.add (Песня) неприменим;
  3. (аргумент несоответствие; java.lang.String не может быть преобразован в Song);

Другое один я пробовал:

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

Когда я скомпилировать его в порядке. Но я не могу вводить параметр Song для создания нового объекта.

Пожалуйста, помогите. : |

ответ

0

Я не уверен, что именно вы пытаетесь сделать, но если вы измените ArrayList на тип <String> вместо объекта Song, вы можете просто добавить свойство имени песни (потому что это строка) через songs.add(songObject.name)

Я предполагаю, что вы просто хотите, чтобы ArrayList содержать names песен

Смежные вопросы