Konstruktor, CD

beginner21

Neues Mitglied
Hallo Java Freunde :)
Also ich bin nun auch dabei mir Java anzueignen, oder zumindest es zu versuchen :rtfm:

Ich soll mehrere Lieder zu einer CD zusammenstellen. (Ich hab schon im Forum ein wenig geguckt und ein ähnliches Thema gefunden, allerdings hat mir das nicht geholfen weil der Beitragsstelller keine Frage gestellt hat und auch eine andere Aufgabe lösen möchte.)

Zu meiner Aufgabe: Es sollen 3 Klassen erstellt werden. Klasse CDTrack speichert Länge, Titel und Künstler eines einzelnen Liedes (int laengeInSekunden, String kuenstler, String titel), mit den Kunstruktor CDTrack (int laengeInSekunden, String titel), wobei der Künstler unbekannt ist und dem Wert "Various Artists" zugewiesen werden soll, und Konstruktor
CDTrack (int laengeInSekunden, String titel, String kuenstler)

Klasse CD speichert ein Array mehrerer Tracks, sowie den Titel und den Künstler der CD.
Dazu werden die Attribute implementiert: CDTrack[] tracks, String titel, String kuenstler
und die Klasse soll nur den einen Konstruktor CD (CDTrack[] tracks, String titel) haben.
Auch soll die Klasse eine Methode printCD enthalten. printCD gibt den Albumtitel und den
Künstler der CD auf der Konsole aus. Weiterhin gibt sie für jeden auf der CD enthaltenen Tracks den
Künstler, den Titel und die Länge des Liedes aus

Klasse CDTest implementiert eine Verwendung der Klasse CD.
In der Main-Methode von CDTest soll eine beliebige CD mit mind. 5 CDTracks erzeugt werden.
Testen Sie die Methode printCD, indem Sie sie in der Main-Methode für die zuvor erzeugte CD aufrufen.

Jaa, also ich weiß das ist viel Text, aber ich hoffe jemand kann mir da helfen :oops:. Es ist irgendwie voll schwer wenn in der Vorlesung nur theorie kommt, und im tutorium ein beispiel zum Konstruktor kommt der eine nicht viel weiter hilft :noe:. Also ich stelle mir das so vor (berichtigt bitte meine Gedanken, aber so denke ich wenn ich an Java arbeite): Es gibt eine Klasse, die greift auf Methoden anderer Klassen zu um Code zu sparen. Ein Konstruktor ist eine Methode ohne Rückgabe, die Werte direkt bei der Initialisierung zuweist (ist das richtig?). So viel zur Theorie. Bei meiner Aufgabe heißt das also nun: Ich erstelle eine reine Konstruktoren/Methodenklasse CDTrack, eine zweite Klasse CD die für diese Konstruktoren einen Array erzeugt (?? hier seh ich nicht mehr durch) und eine dritte Klasse CDTest die den Array verwendet und auf der Konsole ausgibt.
Hier ist mein Code, also meine Gedanken dazu:
Java:
 class CDTrack {           //Klasse 1

	int laengeinSekunden;
	String kuenstler;
	String titel;

	public CDTrack(int laengeinSekunden, String titel) {
		this.laengeinSekunden = laengeinSekunden;
		this.titel = titel;
		kuenstler = "Various Artists";  }

	public CDTrack(int laengeinSekunden, String kuenstler, String titel) {
		this(laengeinSekunden, titel);
		this.kuenstler = kuenstler;  }

}        // erste Klasse, die ist glaube ich richtig und ich verstehe das auch noch Gedanklich




class CD {   // Klasse 2

	public CDTrack[] tracks = new CDTrack[5] ;                      //Array mit Name tracks der auf typ/Klasse CDTrack zugreift  
	

	public CD (CDTrack[] tracks, String titel) {            //Konstruktor namens CD
	tracks[0] = tracks;
	tracks[1] = titel; }                                      /*das versteh und kann ich auch nicht, hab einfach ein gegebenes Beispiel umgeschrieben, weil ich das auch nicht verstehe wie ich das hier machen muss */ 

	public void print() {                  //Die Print-Methode
	System.out.println("Kuenstler = "+kuenstler+"; Titel = "+tracks[1]+tracks[0]); }

}                           // Die Klasse ist auf alle Fälle falsch, aber ich weiß einfach nicht weiter :(



public class CDTest {    // Klasse 3

	public static void main(String[]args) {


		CD c1 = new CD("grausam", "absolut");
		CD c2 = new CD();

		c1.print();
		c2.print();
}
}

Also ich weiß dass das Programm nicht läuft, habs auch ausprobiert. Und es frustriert einen halt sehr wenn man versucht es verstehen zu wollen aber nichts funktioniert...Da hat man einfach keinen bock mehr weiter zu arbeiten :cry:

Ich hoffe echt dass ihr mir helfen, hab bisher immer alles verstanden in Java aber hier check ichs einfach nicht..

Vielen Dank schon mal!
 
G

gman

Gast
Hi!

Ein Konstruktor ist eine Methode ohne Rückgabe, die Werte direkt bei der Initialisierung zuweist (ist das richtig?). So viel zur Theorie. Bei meiner Aufgabe heißt das also nun: Ich erstelle eine reine Konstruktoren/Methodenklasse CDTrack, eine zweite Klasse CD die für diese Konstruktoren einen Array erzeugt

Ein Konstruktor erzeugt ein neues Objekt der Klasse in der er definiert ist. Jede Klasse hat einen
Konstruktor.

Klasse CD speichert ein Array mehrerer Tracks, sowie den Titel und den Künstler der CD.
Dazu werden die Attribute implementiert: CDTrack[] tracks, String titel, String kuenstler
und die Klasse soll nur den einen Konstruktor CD (CDTrack[] tracks, String titel) haben.

Dein Code:

Java:
class CD {   // Klasse 2
 
    public CDTrack[] tracks = new CDTrack[5] ;                      //Array mit Name tracks der auf typ/Klasse CDTrack zugreift  
    
 
    public CD (CDTrack[] tracks, String titel) {            //Konstruktor namens CD
    tracks[0] = tracks;
    tracks[1] = titel; }                                      /*das versteh und kann ich auch nicht, hab einfach ein gegebenes Beispiel umgeschrieben, weil ich das auch nicht verstehe wie ich das hier machen muss */ 
 
    public void print() {                  //Die Print-Methode
    System.out.println("Kuenstler = "+kuenstler+"; Titel = "+tracks[1]+tracks[0]); }
 
}

ist da in mehreren Punkten nicht so richtig.

1. Du initialisierst "tracks" sofort mit einem Array fester Größe. Richtig wäre das im Konstruktor
übergebene Array der Variablen zuzuweisen.

2. Du weist den "titel" einfach so einem Platz im Array "tracks" zu. Das kann ja nicht
passen.

3. Für die Ausgabe müsstes du dir eine Schleife bauen die über alle CDTracks geht und
die gewünschten Sachen ausgibt. Dafür gibt es zwei Möglichkeiten:

3.1 Überschreib die "toString"-Methode von CDTracks

3.2 Schreibe in CDTrack getter-Methoden für die benötigten Attribute.

Wenn dir das alles hier nix sagt: Lies dir nochmal die Grundlagen durch (z.B. Java-Insel).
Wenn du einfach versuchst was ohne Verstand zusammen zu stoppeln bringt das nichts.
 

Helgon

Bekanntes Mitglied
Habs mal umgesetzt wie ich es machen würde (keine Garantie für Korrektheit :))

Java:
public class CDTrack {
	
	int laenge;
	String kuenstler, titel;
	
	CDTrack(int laenge, String titel){
		this.laenge = laenge;
		this.titel = titel;
		kuenstler = "Various Artist";
	}
	
	CDTrack(int laenge, String titel, String kuenstler){
		this.laenge = laenge;
		this.titel = titel;
		this.kuenstler = kuenstler;
	}

}

Java:
public class CD {

	String albumTitel;
	CDTrack[] tracks;
	
	CD(CDTrack[] tracks, String albumTitel){
		this.albumTitel = albumTitel;
		this.tracks = tracks; 
	}
	
	public void printCD(){
		System.out.println("Albumtitel: "+albumTitel);
		for(int i = 1; i < tracks.length+1; i++)
			System.out.printf("Track No: %d - Titel: %s - Kuenstler: %s - Laenge: %d%n",i,tracks[i-1].titel,tracks[i-1].kuenstler,tracks[i-1].laenge);
	}
	
}

Java:
public class CDTest {

	public static void main(String[] args) {
			
		CDTrack[] tracks =  {new CDTrack(150, "Alpha-Song"), new CDTrack(320, "Beta-Song", "Elvis") , new CDTrack(186, "Gamma-Song", "Louis")};
		
		CD cd1 = new CD(tracks, "Mixed");
		
		cd1.printCD();
	
	}

}

bitteschön - hoffe du guckst es dir an und lernst damit ein wenig :)
 
Zuletzt bearbeitet:

beginner21

Neues Mitglied
oh ok, vielen vielen Dank erstmal für eure Hilfe:). Ich werde mir das jetzt mal genau angucken und verinnerlichen:rtfm:. Ist halt echt nicht so einfach dem allen immer gleich zu Folgen in der Uni, und meine Lerngruppe hat diesmal leider auch nicht durchgesehen :p ich lerne immer am besten mit Beispielen^^
Also herzlichen Dank. Muss sagen dass Forum ist Klasse :) *Daumen hoch, weiter so*:toll:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C OOP Parameter vom Konstruktor Java Basics - Anfänger-Themen 1
R Konstruktor mit Datum Java Basics - Anfänger-Themen 17
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
P Erste Schritte WindowBuilder erstellt Konstruktor wie zugreifen Java Basics - Anfänger-Themen 5
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben