Hilfe bei einem Anfängerprojekt

Chris20

Mitglied
Hallo,

Ich lerne nun seit einer Woche Java und habe jetzt mit einem ersten kleinen Projekt nur Übung begonnen, komme aber bei einer Aufgabe nicht weiter.. die Klassen sind per UML Diagramm gegeben, bei der Klasse "Spiel" bin ich in den Attributen schon etwas überfragt, weil ich nicht so wirklich weiß, was genau das Array zu bedeuten hat, auch der Konstruktor mit Parameter ist mir suspekt. Weiterführend ist dann meine eigentliche Frage zur Aufgabe 2.1. (Anhang) wie kann ich das im Code umsetzen? Ich suche schon Stunden durch probieren nach einem Ansatz, aber finde einfach keine Lösung

Danke im voraus!

Aufgabe Java
 

DrPils

Bekanntes Mitglied
Hast du schon irgendwas? Wenn nein versuch es und zeig dein Ergebnis.
Klasse Spieler bekommst du wohl (teilweise) hin?
 

Chris20

Mitglied
Genau, bei der Klasse Spieler hatte ich keine Probleme.
ich poste mal meine ersten Versuche:
Klasse Spiel (nur Attribut, sowie Konstruktor - beim Rest hatte ich keine Probleme): Klasse Spiel
in der Main-Klasse habe ich eine Instanz der Klasse Spiel erzeugt: Main-Klasse
 

DrPils

Bekanntes Mitglied
Poste deine Codes bitte zukünftig in den Code Tags.
Also was du im Konstruktor machst, ist nicht Sinnvoll.
Du nimmst als Parameter die Anzahl an Spieler, soweit so gut.
Aber im Body weißt du Feld Spieler sich selbst zu, hover mal über die unterstrichene Linie, deine IDE sollte dazu was zu sagen haben :)
Du sollst soviel neue Spieler erstellen wie als Parameter übergeben werden.
In der Main Klasse zeigst du ja dass du weißt wie man ein Objekt erzeugt.
Jetzt musst du das nur in deinem Konstruktor von Spiel n mal machen und dem Feld Spieler zuweisen.
Um etwas n mal auszuführen eignet sich die for schleife.
Probier mal und zeig dein Ergebniss, wenn du nicht weiter kommst wird dir geholfen.
 

Chris20

Mitglied
Genau, mir wird angezeigt, dass es sich selbst zugewiesen wird, was für mich jetzt im nachhinein auch keinen Sinn mehr ergibt. Ich weiß nur nicht genau, was ich ändern muss, damit es richtig wird.
Die Schleife um n-Objekte zu erzeugen muss in die main, oder? n ist aber hierbei genau der in anzahlSpieler angegebene Parameter - wie bekomm ich den abgefragt? der Konstruktor kann ja nichts zurückgeben, was mir logisch erscheint, aber selbst in der main kann ich nicht auf den parameter anzahlSpieler zugreifen.
 

DrPils

Bekanntes Mitglied
Du hast im Konstruktor doch Zugriff auf dein Spieler[].

Java:
spieler = new Spieler[5];//erzeugt ein Spieler Array mit der groesse 5;
spieler[0] = new Spieler("Fred"); // Weisst auf dem Index 0 einen neuen Spieler mit den Namen Fred zu
 

Chris20

Mitglied
Das weiß ich, aber wie lass ich das den Konstruktor machen über den Parameter, bzw. wie greife ich dann auf das erstellte Array zu?
 

DrPils

Bekanntes Mitglied
Du sollst ja im Konstruktor erstmal die Spieler erstellen, dann mach das doch erstmal wenn du es weißt.

Java:
public class Container {
    
    int[] arr;

    public Container() {
        arr = new int[2];
        arr[0] = 42;
        arr[1] = 2;
    }
}
 
Zuletzt bearbeitet:

Chris20

Mitglied
Naja, ich weiß nur, wie ich einen Spieler erstellen kann, über den Konstruktor von "Spieler"

[CODE lang="java" title="Spieler erstellen"]Spieler spieler1 = new Spieler("Spieler 1");[/CODE]

Mir ist aber absolut nicht klar, wie ich über den Konstruktor von "Spiel" bspw. einen Spieler erstellen soll
 

DrPils

Bekanntes Mitglied
Naja, ich weiß nur, wie ich einen Spieler erstellen kann, über den Konstruktor von "Spieler"

[CODE lang="java" title="Spieler erstellen"]Spieler spieler1 = new Spieler("Spieler 1");[/CODE]

Mir ist aber absolut nicht klar, wie ich über den Konstruktor von "Spiel" bspw. einen Spieler erstellen soll
Indem du den Konstruktor von Spieler, innerhalb des Spiel Konstruktors aufrufst.
Dann brauchst du noch das Array dem du den Spieler zu weißt.
 

DrPils

Bekanntes Mitglied
Probiers und poste es, ich habe eigentlich alles dazu gesagt.
Notfalls probier dem Array im Konstruktoir erstmal eine feste Größe zu geben und dann der ersten Postition ein Spieler zu weissen.
Mach soweit du kommst
 

Chris20

Mitglied
Java:
Spiel sp1 = new Spiel(anzahlSpieler: 2);
Spieler[1] = new Spieler(name: "Spieler1");
Spieler[2] = new Spieler(name: "Spieler2");
 

Chris20

Mitglied
Java:
Spieler[] spieler = new Spieler[4];
spieler[0] = new Spieler("Spieler 1");

das wäre das einzige was mir dazu noch einfallen würde, ansonsten bin ich mit meinem Latein absolut am Ende.
 

Chris20

Mitglied
Java:
public Spiel(int anzahlSpieler) {
        Spieler[] Spieler = new Spieler[anzahlSpieler];
    }
So sieht aktuell mein Konstruktor aus
 

DrPils

Bekanntes Mitglied
Nochmal:
und poste bitte deine ganze Klasse, damit ich auch nachvollziehen kann wo du was machst
Du darfst den variabeln typ (Spieler[]) nicht nochmal vor der Variable zeigen, sonst wird eine lokale Variable erzeugt, die deine Instanz Variable verdeckt.
Also:
Spieler[] Spieler = new Spieler[anzahlSpieler];
oder wie sonst deine Instanz Variable heisst...

So jetzt hast du ein Array mit der Groesse: anzahlSpieler.
Wie du jetzt Werte in dein Array bekommst, hast du oben schoneinmal gemacht.
Das muss in einer for schleife geschehen.
 

Chris20

Mitglied
Das mit dem Konstruktor klappt jetzt
in der Main hab ich jetzt so begonnen:

Java:
public class main {
    public static void main(String[] args){
        Spiel sp1 = new Spiel(4);
        for (int i = 0 < sp1.Spieler.length; i++) {
            sp1.Spieler[i] = new Spieler("Spieler" + i);
        }
    }
}

ist das die richtige herangehensweise?
 

DrPils

Bekanntes Mitglied
Wieso bist du wieder in der main? Du sollst das doch im Konstruktor machen. Das Array sollte auch private sein und somit nicht in der Main Klasse sichtbar. Aber sonst sieht es gut aus.
Variabeln schreiben wir in Java klein, also aus Spieler mach spieler.
Und laut Aufgabenstellung soll der erste Spieler "Spieler 1" heißen.
 

Chris20

Mitglied
so, jetzt sollte alles klappen - gibt es noch irgendwo verbesserungsbedarf?:


Java:
public Spiel(int anzahlSpieler) {
        Spieler = new Spieler[anzahlSpieler];
        for (int i = 0; i < anzahlSpieler; i++){
            Spieler[i] = new Spieler("Spieler" + (i+1));
        }
    }
 

Chris20

Mitglied
Habe ich geändert.
Danke auf jeden Fall - zu der Übung gehören noch andere Aufgaben - kann ich im Falle von Fragen die direkt hier mit rein posten?
 

DrPils

Bekanntes Mitglied
Fragen kann man immer, ob neues Topic oder hier musst du dann schauen. Aber ich würde dir empfehlen erstmal das Thema Konstruktoren und Instanzvariablen zu wiederholen bevor du jetzt Großartig weiter gehst und einfach nochmal alles erfragst.
Nicht Böse gemeint, aber im Prinzip musst du das UML Klassendiagramm nur Abtippen. Der Witz an der Geschichte war tatsächlich die for Schleife und mit der hattest du im Gegensatz zur Funktionsweise eines Konstruktors und der Instanzvariablen keine Probleme. Also mir scheint es so als seien Themen die du für diese Art von Aufgabe benötigst, an dir vorbei gegangen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
A regulären Ausdruck mit Hilfe der Klasse Scanner in einem String finden Java Basics - Anfänger-Themen 2
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
E Hilfe bei einem Regulären Ausdruck Java Basics - Anfänger-Themen 7
B Hilfe zum einem Problem mit Vector Java Basics - Anfänger-Themen 8
G Textfeld und Label in einem Tab? Anfänger braucht Hilfe Java Basics - Anfänger-Themen 3
U hilfe bei einem programm Java Basics - Anfänger-Themen 3
S bräuchte hilfe bei einem kleinen prog Java Basics - Anfänger-Themen 3
S Hilfe bei einem Java-Anfängerprogramm. Java Basics - Anfänger-Themen 10
5 Hilfe ich hab ein problem mit einem QT Java Basics - Anfänger-Themen 2
M Brauche ein bisschen Hilfe bei einem Programm Java Basics - Anfänger-Themen 10
G Hilfe bei einem Code Java Basics - Anfänger-Themen 3
K mehrere DB Einträge in einem JTable darstellen ?HILFE! Java Basics - Anfänger-Themen 2
D Hilfe bei einem Programm Java Basics - Anfänger-Themen 4
M Hilfe bei einem einfachen Java-Programm Java Basics - Anfänger-Themen 41
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
Neuling47 bräuchte dringend hilfe Java Basics - Anfänger-Themen 6
D Bräuchte Hilfe im Bezug zum printarray() Java Basics - Anfänger-Themen 4
M Bitte um Hilfe bei 2DArrays Java Basics - Anfänger-Themen 8
HeiTim Array hilfe Java Basics - Anfänger-Themen 14
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
özkan hilfe!! Java Basics - Anfänger-Themen 4
D Abrechnung bitte um hilfe Java Basics - Anfänger-Themen 25
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
N Hilfe bei der Installation Java Basics - Anfänger-Themen 2
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
S Hilfe bei Programmierung einer Hotelabrechnung Java Basics - Anfänger-Themen 5
enjoykimii Strukturierte Programmierung Hilfe Java Basics - Anfänger-Themen 29
H Bräuchte hilfe Java Basics - Anfänger-Themen 3
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
H Brauche Hilfe Java Basics - Anfänger-Themen 2
D Dijkstra Algorithmus Hilfe!! Java Basics - Anfänger-Themen 9
H Hilfe Java Basics - Anfänger-Themen 6
H Brauche hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
kevkev Hilfe bei Schiffe versenken Java Basics - Anfänger-Themen 5
FelixxF Erste Schritte Hilfe bei Fußball Manager Java Basics - Anfänger-Themen 2
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
josfe1234 Hilfe access denied ("java.io.FilePermission" " " "read") Java Basics - Anfänger-Themen 12
Vivien Hilfe bei Type Conversion Java Basics - Anfänger-Themen 3
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
N Laufzeitberechnung - dringende Hilfe! Java Basics - Anfänger-Themen 1
G Java Hilfe Java Basics - Anfänger-Themen 3
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3
U anfänger braucht hilfe . wir konnten die aufgaben nicht beantworten Java Basics - Anfänger-Themen 5
A Schleifen, Hilfe! Java Basics - Anfänger-Themen 6
LeonDerStudent Hilfe bei Uniprojekt Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
B Hilfe bei Map Liste erstellen Java Basics - Anfänger-Themen 10
Kapfski Was habe ich falsch gemacht? Hilfe! Java Basics - Anfänger-Themen 17
R Java (Eclipse) "Lagerverwaltung" HILFE Java Basics - Anfänger-Themen 13
M Bräuchte Hilfe bei diesen Methoden Java Basics - Anfänger-Themen 4
dieter000 Aufgabe Hilfe Java Basics - Anfänger-Themen 18
Gaudimagspam Dringend Java Hilfe benötigt Java Basics - Anfänger-Themen 19
jonathanpizza Hilfe bei einer Übungsaufgabe Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben