Hallo liebe Wissende,
nach 6 Vorlesungen Java sollen wir nun folgende Aufgabe lösen, allerdings fehlt mir der Ansatz:
Das habe ich soweit. Ich brauche ein Array namens tabelle, welches ich mit 20 Objekten der Klasse "Verein" fülle, richtig?
Ich habe dafür also zwei Klassen angelegt. Einmal die Klasse Ligatabelle, wo die Methoden ausgeführt werden und eine Klasse Verein, in denen die Variablen definiert sind.
Hmmm... da gehts schon los. Ich weiß nicht, wie die Methode "void registriere(Verein verein)" gemeint ist. Worauf beziehen sich die Angaben? Bezieht sich "Verein" wieder auf meine Klasse? Ist "verein" nur eine Übergabevariable oder bereits der Name der Variablen meiner Klasse? Ich schätze, ich muss ein neues Objekt der Klasse Verein erzeugen und das in das Array tabelle schreiben, oder?
Ist es im Grunde richtig, dass ich ein Array mit Objekten der Klasse anlegen muss (die Vereine), welche verschiedene Werte wie "gewonnen", "Name", etc. beinhalten?
Hier mein simpler Anfang:
Über jede Hilfe freut sich der
Matthias
nach 6 Vorlesungen Java sollen wir nun folgende Aufgabe lösen, allerdings fehlt mir der Ansatz:
Übungsaufgabe 2: Ligatabelle
Es soll das Modell der Tabelle einer Sportliga erstellt werden.
1. Eine Ligatabelle hält ein Datenfeld "Verein[] tabelle". Außerdem hält eine Ligatabelle ein Datenfeld "int registrierte", das die Anzahl bereits registrierter Vereine hält. Die Ligatabelle besteht aus einer festen Anzahl von Vereinen (20). Die Anzahl der Plätze in der Liga soll im Konstruktor übergeben werden. (2 Punkte)
2. Entwickeln Sie eine Methode "int gibAnzahlPlaetze()", die die Anzahl der Plätze in der Liga zurückgibt. (1 Punkt)
Das habe ich soweit. Ich brauche ein Array namens tabelle, welches ich mit 20 Objekten der Klasse "Verein" fülle, richtig?
Ich habe dafür also zwei Klassen angelegt. Einmal die Klasse Ligatabelle, wo die Methoden ausgeführt werden und eine Klasse Verein, in denen die Variablen definiert sind.
3. Entwickeln Sie eine Methode "void registriere(Verein verein)", die einen Verein in der Ligatabelle registriert. Beachten Sie dabei, dass nicht mehr Vereine registriert werden können, als in der Liga spielen. Wird versucht, einen weiteren Verein zu registrieren, wird diese Registrierung verworfen und statt der Registrierung eine Meldung für den Benutzer ausgegeben, dass die Liga bereits „voll“ ist. (5 Punkte)
Hmmm... da gehts schon los. Ich weiß nicht, wie die Methode "void registriere(Verein verein)" gemeint ist. Worauf beziehen sich die Angaben? Bezieht sich "Verein" wieder auf meine Klasse? Ist "verein" nur eine Übergabevariable oder bereits der Name der Variablen meiner Klasse? Ich schätze, ich muss ein neues Objekt der Klasse Verein erzeugen und das in das Array tabelle schreiben, oder?
4. Entwickeln Sie eine Methode gibRegistrierte(), die die Anzahl bereits registrierter Vereine
zurückgibt. (2 Punkte)
5. Die Vereine halten in Datenfeldern die Zahl der Spiele, die sie gewonnen haben und die Zahl der Spiele, in denen Sie ein Unentschieden erreicht haben. (2 Punkte)
6. Entwickeln Sie eine verändernde Methode void gewonnen(), die die Anzahl der Siege erhöht und eine verändernde Methode void unentschieden(), die die Anzahl der Unentschieden-Ergebnisse erhöht.
(3 Punkte)
7. Aus den vom Verein gehaltenen Daten sollen die Punkte des Vereins in der Tabelle berechnet werden. Dabei gilt:
- Ein Sieg gibt 3 Punkte,
- Ein Unentschieden gibt 1 Punkt.
Entwickeln Sie für die Klasse Verein eine Methode int gibPunkte(), die die Punkte eines Vereins berechnet und zurückgibt. (3 Punkte)
8. Außerdem halten die Vereine ihren Namen in einem Datenfeld. Der Name soll über den Konstruktor des Objekts Verein übergeben werden. (1 Punkt)
9. Entwickeln Sie eine Methode void gibVereine(), die alle in der Liga registrierten Vereine mit ihrem Namen, ihren Siegen und ihren Remis (Unentschieden) ausgibt. (2 Punkte)
Zusatzaufgabe: Entwickeln Sie eine Methode void gibTabelleAus(), die eine Tabelle ausgibt, in der die Vereine absteigend nach Ihren Punkten sortiert sind. Dazu eignet sich das Interface Compara tor aus der Java-Standardbibliothek. (4 Punkte)
Punkte: Inklusive der Zusatzaufgabe sind 25 Punkte zu erreichen.
Ist es im Grunde richtig, dass ich ein Array mit Objekten der Klasse anlegen muss (die Vereine), welche verschiedene Werte wie "gewonnen", "Name", etc. beinhalten?
Hier mein simpler Anfang:
Java:
public class Verein
{
public String name;
public int gewonnen;
private int unentschieden;
/**
* K o n s t r u k t o r
*/
public Verein()
{
gewonnen = 0;
unentschieden = 0;
}
}
Java:
public class Ligatabelle
{
private int anzahlVereine;
private Verein[] tabelle; // Array deklarieren => Array-Typ[] Array-Name
private int registrierte; // enthält Anzahl der registrierten Vereine
/**
* K o n s t r u k t o r
*/
public Ligatabelle()
{
anzahlVereine = 20;
tabelle = new Verein[anzahlVereine]; // Array-Objekt mit [n] Elementen erstellen
}
public void gibAnzahlPlaetze()
{
System.out.println("Es gibt maximal "+anzahlVereine+" Plätze zu vergeben.");
}
public void registriere(Verein verein)
{
// System.out.println(verein);
}
public void test()
{
tabelle[2] = new Verein();
tabelle[2].name = "Jonny";
// String[] tabelle = { "jalapeno", "anaheim", "serrano", "habanero", "thai" }; // Füllen
System.out.println(tabelle[2].name);
}
}
Über jede Hilfe freut sich der
Matthias