Liste befüllen

scape

Grünschnabel
Hallo!

Ich habe die Aufgabe, eine Playliste erstellen und die durch den User befüllen zu lassen.

Ich hänge allerdings immer wieder bei der einen Zeile, egal auf welche Art ich es versuche.

Song s1;
s1 = new Song;

Fehlermeldung: Multiple markes at this line
Syntax Error on token "new", delete this token
Song can not be resolved

als ich es noch händisch befüllt habe, war es folgende Zeile:

Song s1;
s1= new Song (.....);

da hats funktioniert.

kann mir vielleicht wer weiterhelfen?
 
Nabend

Nur mal so wie viel Erfahrung haste den mit Java, bzw. Sagen dir die Begriff OOP was?

MFG NeonXT
 
Wenn du den Default-Konstruktor nicht deklariert hast, aber einen anderen, dann ist es auch klar, dass es ihn nicht gibt. Füge mal folgendes in deiner Song-Klasse hinzu:
Java:
public Song() {}
Dann sollte es gehen. Wenn der andere Konstruktor Parameter hat, die für das Objekt zum Befüllen gedacht sind, dann setzt du beim Default-Konstruktor eben Standardwerte.
 
Also gut ich hab mal folgendes:

Klasse Song:
Java:
package musicplayer;



public class Song {
	
	private String title;
	private String album;
	private String artist;
	private int duration;
	
	
	public Song(String title, String album, String artist, int duration) {
		
		this.title = title;
		this.album = album;
		this.artist = artist;
		this.duration = duration;
		
	}

dann noch sämtliche get und set methoden

	
}
Klasse Musicplayer:
Java:
package musicplayer;
import java.util.ArrayList;
import java.util.Scanner;



public class Musicplayer 
{
	private ArrayList<Song> songs;
	
	public Musicplayer()
	{
		songs=new ArrayList<Song>();
	}
	
	public void addToPlaylist (Song song)
	{
		songs.add(song);
		
	}
	
	public void play()
	{
		for (int i=0; i<songs.size(); i++)
		{
			Song song = songs.get(i);
			System.out.println(song.getArtist() + "; " + song.getTitle());
		}
	}
	
	
	public static void main(String[] args) 
	{

		
		Song s1;
		s1 = new Song();
		
		System.out.println("Titel: ");
		Scanner scan = new Scanner (System.in);
		String titel = scan.next();
		s1.setTitle(titel);
		
		System.out.println("Artist: ");
		String artist = scan.next();
		s1.setTitle(artist);
		
		System.out.println("Album: ");
		String album = scan.next();
		s1.setTitle(album);
		
		System.out.println("Dauer: ");
		String duration = scan.next();
		s1.setTitle(duration);
		
		Musicplayer mp;
		mp = new Musicplayer();
		mp.addToPlaylist(s1);
		
		mp.play();
		
	}
	
	
}
 
Hallo,

wenn du einen Song anlegt, musst du noch Parameter mitgeben. Das siehst du wenn du dir den Konstruktor anschaust.

Es wird ein Titel, der Albumtitel, ein Artist und die Dauer in Sekunden verlangt.
Code:
new Song("einTitel","Das Album", "Der Artist",720);

Wie ich sehe, hast du die Buttons für Fett und Unterstrichen gefunden, da befindet sich auch ein Button der Codetags einfügt. Den hättest du auch verwenden können. ;-)

Gruß

Sascha
 

Neue Beiträge

Zurück