2 Objekte in eine Klasse übergeben

Q

Qwertzuiop

Gast
Hallo Leute,
ich schreibe bald meine erste Java-Klausur und ich hab es endlich geschafft, mir den Sinn und Umgang mit Objekten durch Sekundärliteratur beizubringen. In der Vorlesung hab ich ab dem Punkt auch damals garnichtsmeh verstanden.
Aber eine Sache konnte ich einfach nicht herausfinden.

Ich will ein Programm schreiben, mit dem ich 2 Brüche zusammenzählen kann. So sieht es aus:

public class Rational {
private int num;
private int denom;

public void setRational(int n, int d){
num = n; // Zähler des Bruchs wird generiert
denom = d; //Nenner Zähler des Bruchs wird generiert

public void addRational(){
....} // Dieser Teil führt dann die Berechnung durch

public class Application {

public static void main(String[] args) {
Rational r1 = new Rational(); //erster Bruch als neues Objekt
Rational r2 = new Rational(); //zweiter Bruch als neues Objekt
r1.setRational(3, 4); // "3/4"
r2.setRational(5, 6); // "5/6"
r1.r2.addRational(); // Hier liegt der Fehler

Es werden also 2 Brüche generiert, die dann zusammengezält werden sollen. Dabei geht es mir aber nicht darum, wie ich die Berechnung realisiere, sondern wie schaffe ich es beide Objekte r1 und r2 der Methode addRational in der anderen Klasse zu übergeben, damit diese mit beiden weiterrechnen kann.

Kann mir hier jemand weiterhelfen?

Danke

Qwertzuiop
 

sambalmueslie

Bekanntes Mitglied
Hey,

also erst mal :) mit den JAVA-Tags sieht das ganze viel schöner aus :)

Java:
public class Rational {
private int num;
private int denom;

public void setRational(int n, int d){
num = n; // Zähler des Bruchs wird generiert
denom = d; //Nenner Zähler des Bruchs wird generiert

public void addRational(){
....} // Dieser Teil führt dann die Berechnung durch

public class Application {

public static void main(String[] args) {
Rational r1 = new Rational(); //erster Bruch als neues Objekt
Rational r2 = new Rational(); //zweiter Bruch als neues Objekt
r1.setRational(3, 4); // "3/4"
r2.setRational(5, 6); // "5/6"
r1.r2.addRational(); // Hier liegt der Fehler

und dann liegt das Problem in dieser Zeile hier:

Java:
r1.r2.addRational(); // Hier liegt der Fehler

der "punkt" bedeutet in dem fall.. nimm das objekt r1 und führe die Methode die nach dem Punkt kommt aus.
Übergeben werden dann der Methode die Objekte die in der Klammer stehen.
Du hast das praktisch schon einmal in dieser Zeile hier:
Java:
r1.setRational(3, 4); // "3/4"

Es fällt nur nicht so auf, weil es einfach zwei Zahlen sind aber du kannst auf die selbe Weise auch deine Objekte übergeben.

Wie die addition durchgeführt wird, hängt jetzt von dir ab.

Beispielsweise könntest du sagen, addiere zu dem Bruch, einen zweiten dazu.

Dann müsste die Methode so aussehen:

Java:
public void addRational(Rational  r){
....} // Dieser Teil führt dann die Berechnung durch

und der Aufruf so:

Java:
r1.addRational(r2);

Gruß Oli
 
Q

Qwertzuiop

Gast
Hi Oli

Danke für deine Hilfe. Leider verstehe ich noch nicht ganz.

Also wenn ich
Java:
r1.addRational(r2);
schreibe, dann habe ich doch 2 mal den Wert num und 2 mal den Wert denom für die beiden Objekte.
In der Rational Klasse empfängt ja dann die Methode
Java:
public void addRational(Rational  r){
nur ein Objekt (Rational r).

Wie würde ich weitermachen, wenn zum Beispiel beide Brüche den selben Nenner hätten:
...
Java:
r1.setRational(3, 6);
r2.setRational(5, 6);
r1.addRational(r2);
...
Java:
public void addRational(Rational  r){
r1.num =+ r2.num;
...

Wäre dass ungefähr so möglich?
 

sambalmueslie

Bekanntes Mitglied
Naja das ist ja eine mathematische Frage :)

wie addiert man zwei brüche :)

Nenner gleichnamig machen und Zähler addieren.

Also so :

z1/n1 + z2/n2 = (z1*n2 + z2*n1)/n1*n2

so und das jetzt nach Java umsetzen :)

Gruß Oli
 
Q

Qwertzuiop

Gast
Leider schaffe ich es nicht in der Methode
Java:
addRational
auf beide Zähler der beiden Objekte zuzugreifen. Ich hab es schon auch mehrere Weise versucht:

Java:
public void addRational(Rational  r){
r1.num =+ r2.num

oder

Java:
public void addRational(Rational  r){
r.num =+ num

oder

Java:
public void addRational(Rational  r){
r =+ r1.num

Leider funktioniert hier keine der Lösungen, denn die Methode empfängt nur den Zähler und Nenner von r2.
Wie muss ich meinen code umschreiben, dass ich in der addRational-Methode auf den Zähler von r1 und auch auf den Zähler von r2 zugreifen kann, damit ich sie zusammenzählen kann?

Danke nochmal
 

Landei

Top Contributor
addRational befindet sich doch schon in der "aktuellen" Instanz, also dem Objekt, was von außen als "r1" oder so aufgerufen wird. Da du "schon drin" bist, kannst du auf "dein" num einfach mit num oder this.num zugreifen, nur beim zweiten, als Argument übergebenen Rational musst du den Namen davorschreiben:

public void addRational(Rational r){
num =+ r.num;
}
 

sambalmueslie

Bekanntes Mitglied
Naja die Variablen sind als "private" deklariert.
das heißt von "außen" kann niemand auf die zugreifen.
Also kannst du wenn du dich in "r1" befindest, nicht auf die variablen in "r2" zugreifen.
Was du brauchst sind so genannte getter. Das sind Funktionen, die dir den Wert zurückgeben.

Beispiel:

Java:
public int getNum(){
 return num;
}

Gruß Oli
 

Landei

Top Contributor
Das ist, mit Verlaub, Käse. Innerhalb einer Klasse dürfen sich die Instanzen durchaus gegenseitig auf ihre privaten Kronjuwelen schauen:
Java:
Class X {
   private String foo;
   public X(String foo) { this.foo = foo; }
   public showOtherFoo(X other) { System.out.println(other.foo); }
}

X bar = new X("bar");
X baz = new X("baz");
bar.showOtherFoo(baz);
 //--> baz
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
E Eine Instanzvariable und zwei Objekte Java Basics - Anfänger-Themen 14
G Datentypen verschiedene Objekte in eine ArrayList, Generics Java Basics - Anfänger-Themen 2
A Objekte in eine Liste einfügen Java Basics - Anfänger-Themen 7
G zwei Objekte bewegen - der eine bewegt sich nicht flüssig? Java Basics - Anfänger-Themen 10
L Eine Art HashMap für inkonsistente Objekte Java Basics - Anfänger-Themen 5
G Serialisieren mehrerer Objekte in EINE (XML)-Datei Java Basics - Anfänger-Themen 12
G Die Objekte eine ArrayList sortieren Java Basics - Anfänger-Themen 50
G zwei Objekte, eine Variable Java Basics - Anfänger-Themen 14
StudentXYZ Auf Objekte zugreifen, die eine andere Methode initialisiert Java Basics - Anfänger-Themen 2
L Mehrere Objekte mit NIO in eine Datei schreiben Java Basics - Anfänger-Themen 4
M Gibt es eine Begrenzung der Anzahl der Objekte? Java Basics - Anfänger-Themen 5
J Objekte einer ArrayList in eine Tabelle einfügen Java Basics - Anfänger-Themen 2
D Initialisierung von Klassen-Objekte Java Basics - Anfänger-Themen 47
W Objekte erzeugen Httprequest oder Httpclient Java Basics - Anfänger-Themen 3
richis-fragen Kann Arrays.stream() auch auf Objekte angewant werden? Java Basics - Anfänger-Themen 10
krgewb Über Objekt, das Objekte desselben Typs enthält iterieren Java Basics - Anfänger-Themen 5
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
J Objekte Java Basics - Anfänger-Themen 22
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
E Objekte löschen Java Basics - Anfänger-Themen 9
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
G Übergeordnete Objekte abrufen Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
Spandeli8 Erzeugte Objekte gegenüber Bildern hervorheben in Java Processing Java Basics - Anfänger-Themen 1
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
P Globale Objekte Java Basics - Anfänger-Themen 2
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
A (Objekte Java Basics - Anfänger-Themen 6
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
G Objekte in Methoden? Java Basics - Anfänger-Themen 13
H Auf Objekte bzw Variabeln aus einer anderen Methode zugreifen Java Basics - Anfänger-Themen 7
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
I Objekte Hilfe Java Basics - Anfänger-Themen 8
G Klassen und Objekte Java Basics - Anfänger-Themen 2
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
R Attribute mehrerer Objekte ausgeben Java Basics - Anfänger-Themen 3
C Objekte und Konstruktoren Java Basics - Anfänger-Themen 2
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
X Objekte einer ArrayList richtig ausgeben? Java Basics - Anfänger-Themen 8
J Best Practice Dateiinhalte validieren und auf Objekte mappen Java Basics - Anfänger-Themen 3
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
B HTML Code / Seite auslesen und JAVA Objekte erstellen Java Basics - Anfänger-Themen 12
PaperHat Programmieraufgabe - Objekte in Objekten Java Basics - Anfänger-Themen 2
E Methode mit Parametern um Objekte zu übergeben Java Basics - Anfänger-Themen 4
V Collections Objekte einer ArrayList in der main() ausgeben Java Basics - Anfänger-Themen 9
T Klassen Klassenübergreifende Objekte erstellen lassen Java Basics - Anfänger-Themen 5
A Objekte verknüpfen Java Basics - Anfänger-Themen 2
M Objekte mit einer Schleife mehrmals erzeugen Java Basics - Anfänger-Themen 17
B Klassen Alle Unter-Objekte durchlaufen in der Hauptklasse Java Basics - Anfänger-Themen 10
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben