Frage zu Objektorientierter Programmierung

Status
Nicht offen für weitere Antworten.

javacoder

Mitglied
Habe eine Klasse
Code:
class Start{
  public static void main(String[] args) {

    
    Spieler alex = new Spieler("alex");
    Spieler dennis = new Spieler("dennis");
    Spieler roger = new Spieler("roger");

für diese Klasse möchte ich eine Klasse "Spieler" entwickeln welche
die Namen in der Klasse Spieler speichert welche von der Klasse Start die oben genannten Namen übergeben bekommt.
Habe auch schon eine Klasse entwickelt
Code:
public class Spieler{
 String eigen;

Spieler(String eigen) {
this.eigen = eigen}
welche die Spieler abspeichert.
Nur das Problem ist wenn ich jetzt zum Beispiel eine methode einfügen möchte damit sich die Spieler untereinander vorstellen, ich weiß nicht wie ich dies anstellen soll damit das so aussieht.
Alex begrüsst Dennis und Roger
Dennis begrüsst Alex und Roger
Roger begrüßt Alex und Dennis
Kann ich das irgendwie als Konstante in der Klasse Spieler festlegen (Namen) oder wie soll ich das machen?
Hoffentlich könnt ihr mir weiterhelfen.
 
Du musst in der Klasse Spieler eine Methode schaffen - mit der du fragen kannst wie der Spieler heißt.

Zum Beispiel:

public String getSpielerName()
{
return eigen;

}


Später kannst du dann zum Beispiel alex fragen wie er heißt.
alex.getSpielerName();
 
Die Methode für die Begrüssung muss in der Klasse Spieler festgelegt sein.

Der Aufruf sollte dann in der Klasse Start etwa so aussehen

alex.vorstellenMitspieler (dennis, roger)
dennis.vorstellenMitspieler (roger, egon)
roger.vorstellenMitspieler (dennis,egon)
 
getSpielerName halte ich für übertrieben, da wenn man einen Spieler nach dem NAmen Fragt einem klar sein sollte, dass man den Namen eines Spilers bekommt. Also einfach getName.

--------
in Spiler.vorstellenMitspieler(Spieler spieler1, Spiler spieler2) muss dann eben eine Ausgabe stattfinden. Sowas, wie

this.eigen + " begrüst " + spieler1.getName() + " und " + spieler2.getName()
 
Hab nur noch das Problem das er mir immer ausgibt für die drei mal
Alex begrüsst Alex und Alex
Dennis begrüsst Dennis und Dennis
Roger begrüsst Roger und Roger
er nimmt also nur einen Namen und fragt die anderen aus der Klasse Start gar nicht ab.
 
javacoder hat gesagt.:
Hab nur noch das Problem das er mir immer ausgibt für die drei mal
Alex begrüsst Alex und Alex
Dennis begrüsst Dennis und Dennis
Roger begrüsst Roger und Roger
er nimmt also nur einen Namen und fragt die anderen aus der Klasse Start gar nicht ab.

Würdest du uns vielleicht zeigen wie du die vorstellenMitspieler-Methode in der Klasse Spieler implementiert hast - ich glaube nämlich da ist der Fehler?

Die Klasse Spieler sollte nämlich inzwische so aussehen:

Code:
public class Spieler{ 
String eigen; 

Spieler(String eigen) { 
this.eigen = eigen} 

public String getName() 
{ 
return eigen; 

} 


public void vorstellenMitspieler(Spieler spieler1, Spiler spieler2)
{
    System.out.println(this.eigen + " begrüst " + spieler1.getName() + " und " + spieler2.getName());

    
}

/*

//oder
public String vorstellenMitspieler(Spieler spieler1, Spiler spieler2)
{
    return this.eigen + " begrüst " + spieler1.getName() + " und " + spieler2.getName();

    
}

*/
 
hab den Fehler gefunden. habe vergessen die Methode in die Ausgabe einzutragen.
Wie lange programmiert ihr eigentlich schon mit Java? Ihr seit ganz schön gut. Ich hoffe das ich es auch bald besser kann.
 
javacoder hat gesagt.:
hab den Fehler gefunden. habe vergessen die Methode in die Ausgabe einzutragen.
Wie lange programmiert ihr eigentlich schon mit Java? Ihr seit ganz schön gut. Ich hoffe das ich es auch bald besser kann.
zu lange.... dazu gibt es aber auch schon den einen oder anderen thread hier im forum - wenn du die suche anschmeisst wirst du auch fuendig 🙂
 
Ich Versuche jetzt die Spieler zu speichern in der Klasse Spieler.
Habe jetzt eine weitere Klasse entwickelt Namens Kugeln:

Code:
void Kugeln (int rot, int blau, int gelb){
this.rot = rot; this.blau = blau; this.gelb = gelb;}

jetzt versuche ich hinzubekommen, dass jeder Spieler eine zufällige Anzahl Kugeln von jeder Farbe bekommt. Habe in der Klasse Start eine Methode entwickelt die eine Zufallszahl ausgibt und durch diese Zufallszahl wird dann die Anzahl der Kugeln bestimmt.

Code:
 alex.Kugeln(zufall(), zufall(), zufall()); 
 dennis.Kugeln(zufall(), zufall(), zufall()); 
 roger.Kugeln(zufall(), zufall(), zufall());
das geht auch alles gut und er gibt mir auch zahlen aus für jeden Spieler. Das Problem ist aber, dass die Kugeln die hier ausgeteilt werden nicht für die Spieler in der Klasse Spieler gespeichert bleiben.
Wollte nämlich dann in einer Methode spiel() angeben das jeder Spieler die Kugeln los wird von denen er am wenigsten hat und die Kugelfarbe die übrig bleibt muss er versuchen zu maximieren in dem er mit den anderen Spielern Kugeln tauscht. Weil jeder Spieler hat ja wahrscheinlich eine andere Farbkugel als Ziel.
Bastel wie gesagt an der Lösung wie man die Spieler und die dazugehörigen Kugeln in der Klasse Spieler speichert.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben