OOP Objekte als Feldelemente

Mathepro

Mitglied
Guten Abend,
meine Aufgabe ist, eine Tabelle der aktuellen Bundesliga zu erstellen und dabei die einzelnen Vereine als Objekte mit Arrays darzustellen.
Leider komme ich nicht weiter bzw. verwirrt mich das Arbeitsblatt meiner Lehrerin mehr, als es hilft.

Folgender Aufbau:
Ich habe zwei Klassen, eine (Haupt-)Klasse "Verein".
Dort drin versteckt sich der Konstruktor, der folgendermaßen aussieht:

Code:
public Verein(String name, int spiele, int siege, int unentschieden, int niederlagen){
    name = this.name;
    spiele = this.spiele;
    siege = this.siege;
    unentschieden = this.unentschieden;
    niederlagen = this.niederlagen;
    }
Die Variablen sind vorher jeweils deklariert, da gibt es auch keine Probleme.
Dann befinden sich dort noch zwei get-Methoden, die aber unwichtig sind (da nicht anwendbar - warum, dazu komme ich jetzt).

Jetzt zur zweiten Klasse "Tabelle".
Das sieht bis jetzt wie folgt aus:

Code:
public class Tabelle { 
  Verein bundesligatabelle[] = new Verein[18];
  }

Jetzt ist die Aufgabe:
Schreiben Sie ein Klasse Tabelle, in der das Array deklariert wird und die Objekte für die Vereine erzeugt werden. Die Attribute können der abgebildeten Tabelle entnommen werden.

Die Attribute sind ja schon oben festgelegt... Das Problem liegt mehr bei der Objekterzeugung. Ich habe schon etliche Varianten probiert, aber wie kann ich nun zum Beispiel ein Objekt erzeugen, dass also zum Beispiel dem Array bundesligatabelle[0] dem Verein FC Bayern München (und die jeweils dazugehörigen Daten) zuweist?

Ich bin langsam am Verzweifeln. Wäre super, wenn mir jemand helfen könnte und ich hoffe, mein Problem ist soweit klar.

Liebe Grüße
 

Joose

Top Contributor
Code:
public Verein(String name, int spiele, int siege, int unentschieden, int niederlagen){
    name = this.name;
    spiele = this.spiele;
    siege = this.siege;
    unentschieden = this.unentschieden;
    niederlagen = this.niederlagen;
    }

Dieser Konstruktor ist falsch.
Dadurch weißt du den Parameter den aktuellen Wert der Instanzvariable zu! Du willst aber den Wert des Parameters der Instanzvariable zuweisen ;)

Code:
public class Tabelle {
  Verein bundesligatabelle[] = new Verein[18];
  }
Die Attribute sind ja schon oben festgelegt... Das Problem liegt mehr bei der Objekterzeugung. Ich habe schon etliche Varianten probiert, aber wie kann ich nun zum Beispiel ein Objekt erzeugen, dass also zum Beispiel dem Array bundesligatabelle[0] dem Verein FC Bayern München (und die jeweils dazugehörigen Daten) zuweist?

Wo genau liegt das Problem?
Hier ein Link wie man einem Array ein Objekt an bestimmter Stelle zuweisen kann:
http://stackoverflow.com/questions/20402764/creating-array-of-custom-objects-in-java
 

Mathepro

Mitglied
Hallo,
vielen Dank für den Hinweis beim Konstruktor. Passt das dann so?:
Java:
public Verein(String name, int spiele, int siege, int unentschieden, int niederlagen){
    this.name = name;
    this.spiele = spiele;
    this.siege = siege;
    this.unentschieden = unentschieden;
    this.niederlagen = niederlagen;
    }

Ich habe mir deinen Link mal angesehen, vielen Dank dafür erst einmal.
Java:
public class Tabelle {
  Verein bltabelle[] = new Verein[18];
  Verein FCB = new Verein("FC Bayern München",12,11,1,0);
  bltabelle[0] = FCB;
  }

Ich habe es jetzt mal so gemacht wie im Beispiel im Link. Das funktioniert leider trotzdem noch nicht. :/
Weißt du, was ich falsch mache?

Liebe Grüße
 

Joose

Top Contributor
Hallo,
vielen Dank für den Hinweis beim Konstruktor. Passt das dann so?:

Ja es passt so, aber anstatt nachzufragen geht es deutlich schneller sowas einfach auszuprobieren und einfach mal ein paar Werte auf der Konsole ausgeben zu lassen ;)
Oder aber natürlich den Debugger verwenden.

Java:
public class Tabelle {
  Verein bltabelle[] = new Verein[18];
  Verein FCB = new Verein("FC Bayern München",12,11,1,0);
  bltabelle[0] = FCB;
  }

Ich habe es jetzt mal so gemacht wie im Beispiel im Link. Das funktioniert leider trotzdem noch nicht. :/
Weißt du, was ich falsch mache?

Funktioniert nicht ist keine Fehlerbeschreibung!
Entweder es fliegt eine Exception, der Compiler beschwert sich oder es tritt nicht das gewünschte Ergebnis ein!

Wenn du den Code so wie da stehen hast, dann kann das nicht funktinieren da du direkt in der Klassen definition eine Zuweisung machst!
Dir fehlt da ein Konstruktor oder ähnliches in welchem du die Vereins Objekte erstelllst und dem Array zuweist.
 

Joose

Top Contributor
Ja wie schon gesagt wenn dein Code der Klasse "Tabelle" so ausschaut wie du ihn gepostet hast dann ist das falsch!

Du kannst zwar ein Array und ein Objekt vom Typ Verein deklarieren und initialisieren, die Zuweisung vom Objekt auf das Array muss aber entweder im Konstruktor oder einer Methode der Klasse "Tabelle" stehen.
 

Neue Themen


Oben