Assoziation zwischen 2 klassen

S

sheep

Gast
Java:
public class Person {
private String name;
private String vorname;
public void setName (String n) {
name = n;
}
public String getName() {
return name;
}
public void setVorname (String n) {
vorname = n;
}
public String getVorname() {
return vorname;
}
}

public class Konto {
private Person person;
private double kontostand;
public Konto (String name, String vorname, float kontostand) {
   
}
 public Person getLinkPerson(){
    return person;
    }

    public void setLinkPerson(Person person){
     this.person = person;
    }

    
    public double getKontostand(){
      return kontostand;
      }
      
      }

Konto kenn ja die Personen zu dem jeweiligen Konto.nur wie gehe ich hier mit dem konstruktor um und wieso hat kontostand auf einmal float als datentyp?
 

BrauniDeluxe

Mitglied
Java:
public class Person {
private String name;
private String vorname;
public void setName (String n) {
name = n;
}
public String getName() {
return name;
}
public void setVorname (String n) {
vorname = n;
}
public String getVorname() {
return vorname;
}
}
Java:
public class Konto {
private Person person;
private double kontostand;
public Konto (String name, String vorname, float kontostand) {
   
}
 public Person getLinkPerson(){
    return person;
    }

    public void setLinkPerson(Person person){
     this.person = person;
    }

    
    public double getKontostand(){
      return kontostand;
      }
      
      }
Konto kenn ja die Personen zu dem jeweiligen Konto.nur wie gehe ich hier mit dem konstruktor um und wieso hat kontostand auf einmal float als datentyp?

Hier mal als Code :)

Konstruktor macht so keinen Sinn .. da ja die Werte nicht weiter gegeben werden.
Warum dem Konstruktor nicht mit Person bestücken ?
Double oder float musst du halt so anpassen wie du es brauchst.

Eventuell auch mal genau sagen was du machen willst ... kommt nicht ganz klar raus :)
 
S

sheep

Gast
Die nachfolgende unvollständige Klasse “Konto” beinhaltet den Kontostand und
wird einer Person zugeordnet. Um eine Person zu beschreiben, wird die Klasse
“Person” mit den Instanzvariablen “name” und “vorname” verwendet. Die Klasse
“KontoTest” wird zum Testen der Klasse “Konto” verwendet. Sie beinhaltet
neben der “main()”-Methode eine weitere Klassenmethode mit der Bezeichnung
“kontoVergleich()”. Dieser Methode werden zwei Objekte der Klasse “Konto”
übergeben. Die übergebenen Konten werden dann auf die Höhe des Kontostands
hin verglichen und es wird ausgegeben, welches Konto mehr Geld enthält. Vervollständigen
Sie die fehlenden Teile des Programms.

Das soll gemacht werden ^^.code:
Java:
public class KontoTest {
public static void kontoVergleich ( ... ) {
if ( ... ) {
System.out.println (k1.getName()
+ " hat mehr Geld auf dem Konto als " + k2.getName());
} else {
System.out.println (k2.getName()
+ " hat mehr Geld auf dem Konto als " + k1.getName());
}
}
public static void main (String[] args) {
Konto konto1 = new Konto ("Mueller", "Hans", 500);
Konto konto2 = new Konto ("Krause", "Peter", 1500);
Konto konto3 = new Konto ("Boehm", "Harald", 330);
kontoVergleich (konto1, konto2);

kontoVergleich (konto2, konto3);
kontoVergleich (konto1, konto3);
}
}
// Datei: Person.java
public class Person {
private String name;
private String vorname;
public void setName (String n) {
name = n;
}
public String getName() {
return name;
}
public void setVorname (String n) {
vorname = n;
}
public String getVorname() {
return vorname;
}
}
// Datei: Konto.java
public class Konto {
private Person person;
private double kontostand;
public Konto (String name, String vorname, float kontostand) {
...
}
...
}

ich denke an den "..." stellen,soll code hinzugefügt werden
 

BrauniDeluxe

Mitglied
Jetzt wird es klarer.

Erzeuge im Konstruktor von Konto eine neue Person und weise die Namen zu. Weise danach den Kontostand dazu.

Zum Vergleich : Vergleiche die beiden Kontostände einfach miteinander und gebe je nach Ergebnis den richtigen Text aus.

Die Aufgabe ist wirklich ziemlich einfach, es nützt dir nichts hier die fertige Lösung zu präsentieren. Das bisschen wirst du noch selbst machen müssen :)

Gruss
Dennis
 
S

sheep

Gast
muss ich dann 3 personen erzeugen,da in der testklasse es 3 konten mit 3 verschiedenen personen gibt?
 
S

sheep

Gast
ich muss ja die inhalte des objekts prüfen und nicht die referenz: daher equals:

Java:
public static void kontoVergleich (kontostand k,kontostand s  ) {
if (k(equals)(s))  ) {
System.out.println (k1.getName()
+ " hat mehr Geld auf dem Konto als " + k2.getName());
} else {
System.out.println (k2.getName()
+ " hat mehr Geld auf dem Konto als " + k1.getName());
}

ich hab das mal gebastelt.nur das funzt nich so ganz
 

eRaaaa

Top Contributor
Java:
if (k(equals)(s))
??

=>

Java:
if (k.equals(s))
so vllt? :D
 

sh33p

Bekanntes Mitglied
Java:
private Person person;
private double kontostand;
public Konto (String name, String vorname, float kontostand) {
   Person p1 = new Person();
   Person p2 = new Person();
   Person p3 = new Person();
   p1.setName("Müller");
   p1.setVorname("Hans");
   p2.setName("Krause");
   p2.setVorname("Peter");
   p3.setName("Boehm");
   p3.setVorname("Harald");


}
jetzt möchte ich den kontostand setzen. dieser ist aber vom typ float und ich kann nur set und get methoden vom typ double schreiben.das verwirrt mich^^
 

eRaaaa

Top Contributor
also erstmal, solltest du nicht 3 Personen im Konstruktor erstellen, sondern wohl nur eine und diese Person soll den Namen erhalten, dem der Konstruktor übergeben wird! (macht doch so gar keinen Sinn) Des weiteren soll die Person dann dem Konto zugeordnet werden, das hat du ja auch nicht!

vllt so? :
Java:
public Konto (String name, String vorname, float kontostand) {
Person p1 = new Person();
p1.setName(name);
p1.setVorname(vorname);
this.person = p1;
this.kontostand = kontostand;
}


Wieso einmal float und einmal double als Datentyp gewählt wurde, weiß doch eig. wohl nur du ? :D
 
Zuletzt bearbeitet:

BrauniDeluxe

Mitglied
Also erstmal nicht equals ... willst ja nen grösser/kleiner Vergleich vom Kontostand machen :)
Dafür auf den Kontostand vom Konto zugreifen (z.B. getter methode).

Zweitens im Konstruktor nicht 3 Personen anlegen sondern eine .. die Person die als Membevariable in Konto ist.

sowas wie
Java:
person = new Person();
person.setName(name)
...

In der Testklasse 3 Kontos anlegen.
 

sh33p

Bekanntes Mitglied
thx braunideluxe

@ eraaaa

das hat mein prof so in der aufgabe vorgegeben :D. hm vielleicht tippfehler?
sonst machts keinen sinn^^:lol:
 

sh33p

Bekanntes Mitglied
Java:
public class Konto {
private Person person;
private double kontostand;
public Konto (String name, String vorname, double kontostand) {

person = new Person();
person.setName(name);
person.setVorname(vorname);


}
 public Person getLinkPerson(){
    return person;
    }

    public void setLinkPerson(Person person){
     this.person = person;
    }
        public double getKontostand(){
          return kontostand;
        }
        public void setKontostand(double kontostand){
          this.kontostand = kontostand;
        }

public class KontoTest {
public static void kontoVergleich (Konto k1 ,Konto k2 ) {
if (k1.getKontostand() > k2.getKontostand()  ) {
System.out.println (k1.getName()
+ " hat mehr Geld auf dem Konto als " + k2.getName());
} else {
System.out.println (k2.getName()
+ " hat mehr Geld auf dem Konto als " + k1.getName());
}
}
public static void main (String[] args) {
Konto konto1 = new Konto ("Mueller", "Hans", 500);
Konto konto2 = new Konto ("Krause", "Peter", 1500);
Konto konto3 = new Konto ("Boehm", "Harald", 330);
/*kontoVergleich (konto1, konto2);
kontoVergleich (konto2, konto3);
kontoVergleich (konto1, konto3);   */
}
}
public class Person {
private String name;
private String vorname;
public void setName (String n) {
name = n;
}
public String getName() {
return name;
}
public void setVorname (String n) {
vorname = n;
}
public String getVorname() {
return vorname;
}
}

zur vergleichsmethode: ich vergleiche also die kontostände. anschließend sollen ja die namen ausgegeben werden.nur sind die set und get methode für name in person und nicht in konto.
wie erreiche ich jetzt,das ich get-methode für konto verwenden kann?
 

eRaaaa

Top Contributor
Jedes Konto hat doch eine Referenz auf die Person, schreib dir also auch eine getter-Methode dafür, dann kannst du einfach:
Java:
k1.getPerson().getName()
aufrufen

/edit: ach du hast ja schon eine getter dafür
Java:
getLinkPerson()

also ersetz getPerson durch getLinkPerson() :D
 

sh33p

Bekanntes Mitglied
jop das funzt

nur möchte ich ja die 3 erzeugten konten vergleichen. so wie die methode jetzt ist, vergleicht sie konto1 und 2..

wie veränder ich die methode,damit er allgemin alle vorhandenen konto objekte vergleicht?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bidirektionale 1:1 Assoziation Allgemeine Java-Themen 4
E Wo bidirektionale Assoziation UNBEDINGT notwendig? Allgemeine Java-Themen 36
F Problem mit Kapselung/Assoziation? Allgemeine Java-Themen 14
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
B Sent and Receive Funktionen zwischen Objekten ermöglichen? Allgemeine Java-Themen 8
Master3000 Dateien zwischen verschiedenen Netzwerken senden Allgemeine Java-Themen 17
CptK Backpropagation parallelisieren: Kommunikation zwischen den Threads Allgemeine Java-Themen 7
L Unterschied zwischen List und LinkedList implementierung? Allgemeine Java-Themen 15
B Schnittstelle zwischen MySQL und Apache Allgemeine Java-Themen 8
TonioTec Api für Datenaustausch zwischen Client und Server Allgemeine Java-Themen 0
Kirby.exe Schauen ob ein Kante zwischen Knoten existiert Allgemeine Java-Themen 4
L Schlüsselworte Wie kann ich am Besten ein LocalDate zwischen Anfangs und EndDate checken Allgemeine Java-Themen 10
Zrebna Random Number - Generische Formel zwischen zwei INKLUSIVEN Werten Allgemeine Java-Themen 16
N Kollision zwischen ImageIcon und Rechteck Allgemeine Java-Themen 1
D Input/Output Zwischen zwei ID-Räumen unterscheiden und Objekt löschen Allgemeine Java-Themen 16
B Zufällig zwischen vorgegebenen Zahlen auswählen Allgemeine Java-Themen 6
J Millisekunde zwischen 2 Daten Allgemeine Java-Themen 6
D Best Practice Die niedrigste Differenz zwischen zwei Listen ermitteln. Allgemeine Java-Themen 10
J Fahrroute zwischen zwei Punkten finden Allgemeine Java-Themen 1
J Transfer von Integer zwischen zwei Clients - RMI Allgemeine Java-Themen 4
F Unterschied zwischen NormalizedValue und Value Allgemeine Java-Themen 5
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
J Abhängigkeit zwischen Rechenzeit und Speicherbedarf in einen Algorithmus Allgemeine Java-Themen 7
T Strings über Bluetooth zwischen PC,µc oder Samrtphone senden und empfangen Allgemeine Java-Themen 0
H RegularExpression zwischen zwei Strings Allgemeine Java-Themen 2
V Input/Output Austausch von Bytes zwischen C# und Java Allgemeine Java-Themen 3
L Kommunikation zwischen C# und Java? Allgemeine Java-Themen 5
A Best Practice Unterschied zwischen einer sauberen Dependency Injection und einer statischen Klasse Allgemeine Java-Themen 5
R jTable, nur Werte zwischen 2 Double values ausgeben Allgemeine Java-Themen 3
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8
M Unterschied zwischen Win 7/2008R2 und Win8.1/2012R2? Allgemeine Java-Themen 8
N Zeitabstand zwischen 2 Daten(Mehrzahl von Datum) Allgemeine Java-Themen 3
O Socket-Unterschiede zwischen Windows und Ubuntu Allgemeine Java-Themen 2
Z Vergleich zwischen int und Object Allgemeine Java-Themen 1
H Gibt es einen großen Unterschied zwischen Java 6 und Java 7? Allgemeine Java-Themen 3
S Eclipse Abhängigkeiten zwischen den Projekten in Eclipse Allgemeine Java-Themen 2
G nervendes Problem mit unterschieden zwischen Javax64 und x86 | je nach Programmbedarf beides nötig Allgemeine Java-Themen 2
S Threads Kommunikation zwischen SocketThread und WorkerThread Allgemeine Java-Themen 11
J Java-Implementierung diverser Beziehungen zwischen Klassen bzw. Objekten Allgemeine Java-Themen 2
B Unteschiede zwischen Kantenoperatoren Allgemeine Java-Themen 3
A Kommunikation zwischen 2 Jar-dateien Allgemeine Java-Themen 16
X Datentypen Prozentualer Abgleich zwischen 2 Strings (Pattern?) Allgemeine Java-Themen 3
Z zeit zwischen maus drücken und loslassen Allgemeine Java-Themen 7
C Komisches Verhalten zwischen Set und List bei contains Allgemeine Java-Themen 6
K Objekt-Austausch zwischen zwei Programmen über System-Clipboard Allgemeine Java-Themen 5
N Gridbaglayout - Abstände zwischen Komponenten einstellen Allgemeine Java-Themen 2
H Datenaustausch zwischen zwei Java-Programmen Allgemeine Java-Themen 5
D Exakte Unterschied zwischen diesen Elementen? Allgemeine Java-Themen 5
C Swing Daten zwischen JTable teilen Allgemeine Java-Themen 6
N Unterschied zwischen "Java" und "Java mit Eclipse" Allgemeine Java-Themen 17
X Bild im Memory zwischen speichern Allgemeine Java-Themen 11
T Zugriff zwischen Klassen für repaint Allgemeine Java-Themen 7
V Threads & Pipes Datenaustausch zwischen Threads Allgemeine Java-Themen 2
G Hauptthread anhalten / Unterschied zwischen Main-Thread und dialogelement-Thread Allgemeine Java-Themen 2
C Strings zwischen 2 Zeichen auslesen Allgemeine Java-Themen 7
Lufti Unterschied zwischen Djava.library.path und Class-Path im Manifest? Allgemeine Java-Themen 2
E kommunikation zwischen Fenstern Allgemeine Java-Themen 3
A Differenz zwischen zwei Uhrzeiten Allgemeine Java-Themen 7
B Unterschied zwischen Klasse und Objekt? Allgemeine Java-Themen 8
S Datenformat zum Austausch zwischen Java und Python? Allgemeine Java-Themen 3
G Interface zwischen 2 Programmierern Allgemeine Java-Themen 10
B Gibt es einen Unterschied zwischen Java 1.2 und Java 2? Allgemeine Java-Themen 7
J Unterschied zwischen "Debug" und "Run" Allgemeine Java-Themen 16
A java.io-Änderungen zwischen java 1.4 und 1.6 Allgemeine Java-Themen 18
G Zwischen Datei und Verzeichnis unterscheiden. Allgemeine Java-Themen 11
J Unterschiede zwischen normaler und Debug Ausfuehrung? Allgemeine Java-Themen 2
G Linked List zwischen zwei Threds übergeben Allgemeine Java-Themen 11
J Suche regex-Pattern fuer Liste von Zahlen zwischen 0-100 Allgemeine Java-Themen 6
A Kommunikation zwischen C++ und Java-Programm Allgemeine Java-Themen 4
C JTable, Abstand zwischen Zellen Allgemeine Java-Themen 2
T Anzahl Tage zwischen zwei Daten - Stunde fehlt? Allgemeine Java-Themen 2
G Unterschiede zwischen Java 5 und 6 Allgemeine Java-Themen 5
P Unterschied zwischen Funktion und Methoden Allgemeine Java-Themen 3
T Möglichkeiten der Kommunikatin zwischen Plugins in Ecl. RCP Allgemeine Java-Themen 3
O Unterschied zwischen ThreadPoolExecutor und Executor Service Allgemeine Java-Themen 7
2 Tage zwischen zwei Datumsdaten zählen Allgemeine Java-Themen 2
G Tage zwischen zwei Datumsdaten zählen Allgemeine Java-Themen 3
T JDBC: Unterschiede in Interfaces zwischen 2 Java-Versionen. Allgemeine Java-Themen 6
O Unterschied zwischen Semaphoren/Lock und ExecutorService Allgemeine Java-Themen 3
G Entscheidungsproblem für mein Vorhaben, zwischen Java und C# Allgemeine Java-Themen 35
MQue Daten-Austausch zwischen Klassen verschiedener Pakete Allgemeine Java-Themen 5
C kürzester weg zwischen zwei Punkten, Koordinaten finden Allgemeine Java-Themen 15
L Anzahl Tage zwischen zwei Kalenderdaten Allgemeine Java-Themen 5
MQue Datenaustausch zwischen 2 Klassen Allgemeine Java-Themen 10
MQue zwischen Class zum speichern von Werten Allgemeine Java-Themen 4
I Unterschied zwischen Applet und JApplet Allgemeine Java-Themen 2
O Regex Texte zwischen html code Allgemeine Java-Themen 4
J Interaktion zwischen Klassen Allgemeine Java-Themen 4
W Beziehungen zwischen Usern ermitteln Allgemeine Java-Themen 2
G Daten aus einer For Schleife zwischen speichern Allgemeine Java-Themen 4
M Wie mit Dateipfaden zwischen Linux und WIndows hantieren? Allgemeine Java-Themen 2
M Kommunikation zwischen 2 Programmen Allgemeine Java-Themen 7
G Kommunikation zwischen Threads und Gui Allgemeine Java-Themen 2
S Unterschiede zwischen SWINGS; Struts und AWT Allgemeine Java-Themen 4
Z Zwei Listener zwischen zwei Klassen Allgemeine Java-Themen 4
P kommunikation zwischen dialog und threads Allgemeine Java-Themen 4
R Der Unterschied zwischen 2.1 und 2.10 Allgemeine Java-Themen 2
Q Typecast zwischen Klassen mit implementierter Schnittstelle Allgemeine Java-Themen 4
P Was ist der Unterschied zwischen JSP und Servlet ? Allgemeine Java-Themen 4
S zufallszahl zwischen -1 und 1 Allgemeine Java-Themen 9

Ähnliche Java Themen

Neue Themen


Oben