Zwei Objekte sollen untereinander etwas austauschen, doch wie?
Hallo,
wenn ich beispielsweise einmal Spieler-1 und Spieler-2 habe und der erste Spieler dem 2. etwas soll (Spieler ist hier einfach nur eine Variable), beispielsweise "Geld".
Wie kann man das noch eleganter hinbekommen?
Das hier ist der einfache Weg mit zwei verschiedenen Variablen. Wie geht das gleiche, nur mit Arrays?
Wie "tauschen" Arrays untereinander solche Daten?
X
wenn ich beispielsweise einmal Spieler-1 und Spieler-2 habe und der erste Spieler dem 2. etwas soll (Spieler ist hier einfach nur eine Variable), beispielsweise "Geld".
Wie kann man das noch eleganter hinbekommen?
Das hier ist der einfache Weg mit zwei verschiedenen Variablen. Wie geht das gleiche, nur mit Arrays?
y = 500;
Spieler-1_Geld = 2000;
Spieler-2_Geld = 800;
Spieler-1_Geld = Spieler-1_Geld - y;
Spieler-2_Geld = Spieler-2_Geld -+ y;
Wie "tauschen" Arrays untereinander solche Daten?
X
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 124278
Url: https://administrator.de/forum/zwei-objekte-sollen-untereinander-etwas-austauschen-doch-wie-124278.html
Ausgedruckt am: 22.12.2024 um 08:12 Uhr
3 Kommentare
Neuester Kommentar
Der Algorythmus wurde an die Angaben angepasst.
Objektorientierter Ansatz.
Die Notwendigkeit in solchen Objekte mit Kapselung zu arbeiten, bleibt hier unberücksichtigt.
Ausgabe:
spieler_1 hat 2000.0 spieler_2 hat 800.0
spieler_1 hat 2500.0 spieler_2 hat 300.0
spieler_1 hat 2000.0 spieler_2 hat 800.0
Bei Arrays ist der Datentyp geld und die Methode bezahleMir anzupassen.
Ein Array kann in Java für einfache typen (float, int...) in der Form;
erzeugt werden.
5 ist die Anzahl der Elemente im Array, float ist der Datentyp, in diesem Fall eine Gleitkommazahl.
Java hat auch Klassen die Arrays verwalten. Diese kan man genauso, wie oben spieler, erzeugen.
Hier kann man sehr komfortabel die Elmente über die Methoden der Klasse handeln.
Dieses währe in der Class Spieler zu definieren.
// Algorythmus
y = 500;
Spieler-1_Geld = 2000;
Spieler-2_Geld = 800;
//Geldtransfair Spieler_2 nach Spieler_1
Spieler-1_Geld + y;
Spieler-2_Geld - y;
//Geldtransfair Spieler_1 nach Spieler_2
Spieler-2_Geld + y;
Spieler-1_Geld - y;
Objektorientierter Ansatz.
Die Notwendigkeit in solchen Objekte mit Kapselung zu arbeiten, bleibt hier unberücksichtigt.
/**
* @author holohype
* http://www.HoloH.de
*/
public class Spieler
{
// Default Tasche lehr
public float geld = 0;
// Lehrconstructor
public Spieler ( )
{
}
// Konstruktor mit Parameter für Geldwert g
public Spieler
(
float g
)
{
// Zuweisung des Geldwert an dieses Objekt
this.geld = g;
}
// Geldübergabe zwischen 2 Spielern
// Spieler s gibt geld g
public void bezahleMir
(
Spieler s,
float g
)
{
this.geld = this.geld + g;
s.geld = s.geld - g;
}
/*
* Die Methode wird mit Run ausgeführt.
* Sie dient ausschließlich Demonstrationszwecken
*/
public static void main
(
String args
)
{
float y = 500;
Spieler spieler_1 = new Spieler ( 2000 );
Spieler spieler_2 = new Spieler ( 800 );
// Werte ausgeben
System.out.print ( " spieler_1 hat " );
System.out.print ( spieler_1.geld );
System.out.print ( " spieler_2 hat " );
System.out.println ( spieler_2.geld );
//Geldtransfair von spieler_1 nach spieler_2
spieler_1.bezahleMir ( spieler_2, y );
System.out.print ( " spieler_1 hat " );
System.out.print ( spieler_1.geld );
System.out.print ( " spieler_2 hat " );
System.out.println ( spieler_2.geld );
//Geldtransfair von spieler_2 nach spieler_1
spieler_2.bezahleMir ( spieler_1, y );
System.out.print ( " spieler_1 hat " );
System.out.print ( spieler_1.geld );
System.out.print ( " spieler_2 hat " );
System.out.println ( spieler_2.geld );
} // public static void main ( ... )
} // public class Spieler
Ausgabe:
spieler_1 hat 2000.0 spieler_2 hat 800.0
spieler_1 hat 2500.0 spieler_2 hat 300.0
spieler_1 hat 2000.0 spieler_2 hat 800.0
Bei Arrays ist der Datentyp geld und die Methode bezahleMir anzupassen.
Ein Array kann in Java für einfache typen (float, int...) in der Form;
float geld = new float{5];
5 ist die Anzahl der Elemente im Array, float ist der Datentyp, in diesem Fall eine Gleitkommazahl.
Java hat auch Klassen die Arrays verwalten. Diese kan man genauso, wie oben spieler, erzeugen.
Hier kann man sehr komfortabel die Elmente über die Methoden der Klasse handeln.
Dieses währe in der Class Spieler zu definieren.