Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Zwei Objekte sollen untereinander etwas austauschen, doch wie?

Frage Entwicklung Java

Mitglied: Sokrates

Sokrates (Level 1) - Jetzt verbinden

05.09.2009, aktualisiert 20:05 Uhr, 3515 Aufrufe, 3 Kommentare, 1 Danke

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?

01.
y = 500; 
02.
Spieler-1_Geld = 2000; 
03.
Spieler-2_Geld = 800; 
04.
Spieler-1_Geld = Spieler-1_Geld  - y; 
05.
Spieler-2_Geld = Spieler-2_Geld -+ y;


Wie "tauschen" Arrays untereinander solche Daten?

X
Mitglied: holohype
06.09.2009 um 00:56 Uhr
Der Algorythmus wurde an die Angaben angepasst.

01.
// Algorythmus 
02.
y = 500;  
03.
Spieler-1_Geld = 2000;  
04.
Spieler-2_Geld = 800; 
05.
//Geldtransfair Spieler_2 nach Spieler_1   
06.
Spieler-1_Geld  + y; 
07.
Spieler-2_Geld  - y; 
08.
//Geldtransfair Spieler_1 nach Spieler_2 
09.
Spieler-2_Geld  + y; 
10.
Spieler-1_Geld  - y;
Objektorientierter Ansatz.
Die Notwendigkeit in solchen Objekte mit Kapselung zu arbeiten, bleibt hier unberücksichtigt.

01.
/** 
02.
 * @author holohype 
03.
 * http://www.HoloH.de 
04.
 */ 
05.
public class Spieler 
06.
07.
  // Default Tasche lehr 
08.
  public float  geld = 0; 
09.
   
10.
  // Lehrconstructor 
11.
   public Spieler ( ) 
12.
13.
14.
   
15.
  // Konstruktor mit Parameter für Geldwert g 
16.
  public Spieler  
17.
  (  
18.
    float g 
19.
20.
21.
    // Zuweisung des Geldwert an dieses Objekt 
22.
    this.geld = g;   
23.
24.
   
25.
  // Geldübergabe zwischen 2 Spielern 
26.
  // Spieler s gibt geld g  
27.
  public void bezahleMir  
28.
  (  
29.
    Spieler s, 
30.
    float g 
31.
32.
33.
    this.geld = this.geld + g;        
34.
    s.geld = s.geld - g; 
35.
36.
   
37.
  /* 
38.
  * Die Methode wird mit Run ausgeführt. 
39.
  *  Sie dient ausschließlich Demonstrationszwecken 
40.
  */ 
41.
  public static void main  
42.
  (  
43.
    String [] args  
44.
45.
46.
    float y = 500;  
47.
    Spieler spieler_1 = new Spieler ( 2000 ); 
48.
    Spieler spieler_2 = new Spieler (  800  ); 
49.
    // Werte ausgeben 
50.
    System.out.print   ( " spieler_1 hat "  ); 
51.
    System.out.print   ( spieler_1.geld ); 
52.
    System.out.print   ( " spieler_2 hat "  ); 
53.
    System.out.println ( spieler_2.geld ); 
54.
     
55.
    //Geldtransfair von spieler_1 nach spieler_2 
56.
    spieler_1.bezahleMir ( spieler_2, y ); 
57.
    System.out.print    ( " spieler_1 hat  "  ); 
58.
    System.out.print    ( spieler_1.geld );  
59.
    System.out.print    ( " spieler_2 hat  "  ); 
60.
    System.out.println ( spieler_2.geld );     
61.
 
62.
    //Geldtransfair von spieler_2 nach spieler_1 
63.
    spieler_2.bezahleMir ( spieler_1, y ); 
64.
    System.out.print    ( " spieler_1 hat  "  ); 
65.
    System.out.print    ( spieler_1.geld );     
66.
    System.out.print    ( " spieler_2 hat  "  ); 
67.
    System.out.println ( spieler_2.geld );  
68.
         
69.
  } // public static void main ( ... ) 
70.
        
71.
} // 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;
01.
float[] geld = new float{5];
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.
Bitte warten ..
Mitglied: Sokrates
06.09.2009 um 10:57 Uhr
Danke erstmal.
Ich werd es später mal ausprobieren und sag dann Bescheid, wie es ist

X
Bitte warten ..
Mitglied: Sokrates
25.09.2009 um 21:01 Uhr
Funktioniert einwandfrei.
Vielen Dank

X
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Aufrufe von Klassen untereinander
gelöst Frage von MarcoBornVisual Studio7 Kommentare

Hallo Forum, in meinem Projekt habe ich folgendes Konstrukt: Eine Klasse "Import" besitzt eine Funktion "StatusfensterNeu", die ein Formular ...

Vmware
Erreichbarkeit von VMs untereinander
Frage von Tealk144Vmware5 Kommentare

Hallo zusammen, ich habe mir aus test zwecken 2 Win7 und eine Win2k12 Maschine aufgesetzt, alle 3 befinden sich ...

Microsoft Office
Einträge untereinander Auflisten
gelöst Frage von batchnewbieMicrosoft Office8 Kommentare

Hallo, wie bekomme ich die Einträge in der rechten Tabelle untereinander und nicht wie jetzt so verstreut? Siehe Bild ...

Datenbanken
Mehrere Prozeduren untereinander ausführen
Frage von c64b311ee9Datenbanken

Guten Morgen liebe Community, ich bin leider gerade zu blöd (vielleicht gibt es ja auch keinen Weg, aber das ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 1 StundeLinux6 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing13 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Microsoft Office
Outlook Cache Mode Frage
Frage von GwaihirMicrosoft Office11 Kommentare

Hallo zusammen, bin gerade neu in der Firma und lerne hier einige neue Dinge kennen. Zum Beispiel, dass die ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server11 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...