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?

Mitglied: Sokrates

Sokrates (Level 1) - Jetzt verbinden

05.09.2009, aktualisiert 20:05 Uhr, 3526 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
Netzwerkgrundlagen

Grundsatzfrage Verbindung von Switches untereinander

gelöst Frage von montezNetzwerkgrundlagen7 Kommentare

Hallo zusammen, ich würde gern wissen, wie ich folgendes Szenario richtig verkabele: Für ein flaches Layer 2 Netz über ...

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 ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 9 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 11 StundenWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgborn vor 11 StundenMicrosoft7 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 2 TagenWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1026 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)15 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...

Webbrowser
Welcher Browser ist der Beste?
Frage von justtinWebbrowser13 Kommentare

Hallo Leute Ich habe eine interessante Frage. Mich wurde mal interessieren welcher Browser ist eure meinung nach der beste? ...