Objektwerte addieren / Konstruktor

jolom

Mitglied
Hallo,

ich habe folgendes Problem.

Ich möchte 2 Beträge aus Objekten addieren in einer dafür geschaffenen Methode addieren, weiß aber nicht genau, wie ich die Beträge aufrufen kann, um mit ihnen zu rechnen.



Grüße Jolom

Java:
public class Betrag {
 
  private int x;
  
 
  // leerer Konstruktor
  public Betrag() {
 
    this.x = 1;
    
  }
 
  // Konstruktor mit Parameterliste
  public Betrag(int neuesX) {
 
    this.x = neuesX;
   
  }
 

    
    
    
 // hier möchte ich die Beträge addieren.
 public void addieren () {
     
 
    
   
 }
 
 
  public static void main(String[] args) {
 
    Betrag Betrag1 = new Betrag(6);
    Betrag Betrag2= new Betrag(5);
 
    // mit diesem Aufruf will ich die Methode aufrufen.

   Betrag1.addieren(Betrag2);
  }
}
 
Zuletzt bearbeitet:

TheSorm

Bekanntes Mitglied
NamedeDesObjects.Methode; so macht man das standartmäsig also bei dir ca so, Betrag1.Betrag(intzahl)
und genau so rufst du auch variablen auf zb Betrag1.Variable
 
Zuletzt bearbeitet:

jolom

Mitglied
achso, ja aber ich möchte das gerne in der methode addieren machen, würde also die Werte gerne dahineinbekommen wenn das möglich ist.
 

wolfgang63

Bekanntes Mitglied
Du brauchst noch eine Methode
public int getX(){
return x;
}
und in die Addierenmethode muss so sein

public void addieren(Betrag obj){
x=x+obj.getX();
};
 

jolom

Mitglied
Soweit funktioniert das auch alles schon. Vielen Dank an euch beide!

Ich habe aber noch eine Frage:

Wenn ich jetzt diese beiden Beträge miteinander vergleichen will mit einer gesonderten boolean-Methode
dann würde ich schreiben:

Java:
private boolean equal(Betrag Betrag2) {



if (x==Betrag2.getX())

return true;

else 

return false;

nun bekomme ich aber immer false zurück auch wenn die Werte beide gleich sind, woran liegt das?
 

jolom

Mitglied
In der main-Methode wäre das so in Ordnung,

aber wenn ich das in einer boolean Methode mache, dann funktioniert es eben nicht und ich frage mich warum.
 

wolfgang63

Bekanntes Mitglied
Vorsicht beim vergleichen von Werten mit "=="!
Besser man verwendet die equals() Methode.

Code:
if ( x.equals(Betrag2.getX())
 

kaoZ

Top Contributor
equals(Object) dient als Referenzvergleich, es prüft ob im Speicher das gleiche Objekt Referenziert wird, wenn du prüfen willst ob die Werte deiner "Objekte" ( bzw. primitiven Datentypen ) identisch sind nutze
Code:
 "=="

z.B

Tenärer Operator
Java:
boolean isSame = y.getWert() == x.getWert() ? true : false;

oder per if-Anweisung
Java:
if(y.getWert() == x.getWert()){
 
  // Do something special :)

}

[TIPP]Desweiteren kannst du auf primitiven Datentypen keine Methoden ausführen, sondern lediglich auf der Referenz einer Wrapper Klasse :)[/TIPP]

Bedeutet:

Java:
int x = 3;

x.equals();  // funktioniert nicht , da x kein Objekt sondern ein primitiver Datentyp ist

....


Integer x = 3;

x.equals(); // funktioniert, da x nun von einem Wrapper, also ein Objekt welches deinen primitiven Datentyp umhüllt referenziert wird
 
Zuletzt bearbeitet:

wolfgang63

Bekanntes Mitglied
In der main-Methode wäre das so in Ordnung,

aber wenn ich das in einer boolean Methode mache, dann funktioniert es eben nicht und ich frage mich warum.

Also der Unterschied ist, das die main Methode statisch ist und deine equal-Methode nicht!
Aus statischen Methoden kann man nur auf statische Variablen und Methoden zugreifen.

Um einen objektorientierten Ansatz in dein Programm zu bekommen, solltest du eine separate Klasse Start schreiben die in der Mainmethode die beiden Objekte Betrag1 und Betrag2 erzeugt. Das hat eigentlich nichts in der Klasse Betrag verloren. Die Vergleichsmethode ist dann in deiner Startmethode und der Zugriff auf die beiden Werte wird über die Punktschreibweise mit den Objektvariablen programmiert.
Dann hast du einen sauberen objektorientierten Code.

Zum lernen von Java empfehle ich das Buch "Programmieren mit BlueJ".
Ist ein schönes Lern- und Arbeitsbuch und führt gut in objektorientierte Programmierung ein.
 

wolfgang63

Bekanntes Mitglied
Zum Beispiel so.

Code:
public class Start {

	public static void main(String[] args) {
		Betrag betrag1 = new Betrag(5);
		Betrag betrag2 = new Betrag(3);
		System.out.println("" + Start.addiere(betrag1.getX(), betrag2.getX()));
		if (equal(betrag1, betrag2))
			System.out.println("Ergebnis ist true");
		else
			System.out.println("Ergebnis ist false");
	}

	public static int addiere(int x, int y) {
		return x + y;
	}

	public static boolean equal(Betrag b1, Betrag b2) {
		if (b1.getX() == b2.getX())
			return true;
		else
			return false;
	}
}

Code:
public class Betrag {
	
	private int x;
	
	public Betrag(int x) {
		this.x = x;
	}
	
	public int getX() {
		return x;
	}
	
}
 

kaoZ

Top Contributor
Nurnoch mal so am Rande, das ist die Standartimplementierung von
Code:
equals(Object);

Java:
public boolean equals(Object obj) {
  return (this == obj);
}

So und wem fällt jetzt noch auf was genau dort passiert ^^
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
C Objektwerte werden ungewollt überschrieben Java Basics - Anfänger-Themen 6
S Vektoren und Objektwerte Java Basics - Anfänger-Themen 4
O Zahlen aus einem char-array per char + Zeichen addieren Java Basics - Anfänger-Themen 2
J Operatoren Zahlen addieren Java Basics - Anfänger-Themen 13
C Zwei Arrays addieren und ausgeben Java Basics - Anfänger-Themen 3
B Primzahlen bis 100 addieren Java Basics - Anfänger-Themen 16
sashady Zahlen rekursiv zerlegen und Ziffern addieren Java Basics - Anfänger-Themen 38
S Arraywerte quadrieren und danach addieren Java Basics - Anfänger-Themen 11
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
G Array Werte addieren Java Basics - Anfänger-Themen 4
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
J Alle Werte eines Strings zusammen addieren Java Basics - Anfänger-Themen 15
parrot Binär Addieren Java Basics - Anfänger-Themen 21
K Subklassen mit einzigem Befehl addieren Java Basics - Anfänger-Themen 6
F Komplexe Zahlen auf verschiedene Weise addieren Java Basics - Anfänger-Themen 18
M Addieren von Polynomen Java Java Basics - Anfänger-Themen 22
M Werte des Arrays addieren Java Basics - Anfänger-Themen 5
W Parameter solange addieren bis 13 auftaucht Java Basics - Anfänger-Themen 11
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
G OOP- Brüche addieren Java Basics - Anfänger-Themen 3
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
J Zahlen addieren Java Basics - Anfänger-Themen 12
S Zahlenstrings addieren Java Basics - Anfänger-Themen 6
x-tshainge Innerhalb von Textdatei addieren Java Basics - Anfänger-Themen 9
A Arrays addieren- Was mache ich falsch?? Java Basics - Anfänger-Themen 2
ArkHeat Erste Schritte Zwei 2-dimensionale Matritzen addieren Java Basics - Anfänger-Themen 0
reza_4247 addieren Nummern Java Basics - Anfänger-Themen 7
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
Viktormk Methoden Gleitpunktzahlen nach IEEE 754 addieren ! Java Basics - Anfänger-Themen 1
J Arrays erstellen und dann addieren Java Basics - Anfänger-Themen 19
S int addieren geht nicht Java Basics - Anfänger-Themen 13
N Kalender - Tag addieren gibt 31. Juni zurück Java Basics - Anfänger-Themen 3
M Werte der Knoten in Binärbaum addieren (iterativ) Java Basics - Anfänger-Themen 6
I Werte zu existierendem int addieren Java Basics - Anfänger-Themen 4
Silvascus Erste Schritte Werte innerhalb eines Arrays addieren Java Basics - Anfänger-Themen 3
C Java Eingabeaufforderung-Basic Zwei Zahlen addieren Java Basics - Anfänger-Themen 2
S ArrayList Gruppieren, "Doppelte Werte" Addieren Java Basics - Anfänger-Themen 5
M Arrays addieren Java Basics - Anfänger-Themen 2
C Rekursion auf einem Array(negative werte addieren) Java Basics - Anfänger-Themen 4
V addieren der ausgabewerte Java Basics - Anfänger-Themen 6
C OOP Probleme beim Addieren von Arrays Java Basics - Anfänger-Themen 4
B Vektor addieren Java Basics - Anfänger-Themen 4
G Summen addieren und Durchschnitt bilden Java Basics - Anfänger-Themen 4
A Erste Schritte aufeinanderfolgende Zahlen addieren Java Basics - Anfänger-Themen 5
J Methoden Einzelne Objekte eines Vectors addieren Java Basics - Anfänger-Themen 10
L Vom Benutzer eingebene Integer addieren und ausgeben. Java Basics - Anfänger-Themen 11
K Rekursion gerade Zahlen addieren Java Basics - Anfänger-Themen 11
M Zweidimensionales Array um 1 addieren Java Basics - Anfänger-Themen 3
J arrays miteinander addieren Java Basics - Anfänger-Themen 11
L Erste Schritte Programm Bestellung/Rechnung addieren Java Basics - Anfänger-Themen 3
T Zahl addieren problem Java Basics - Anfänger-Themen 1
H n Zahlen aus einem Array addieren Java Basics - Anfänger-Themen 17
R Scanner-Eingaben addieren Java Basics - Anfänger-Themen 5
putinator Mehrdimensionale Array addieren Java Basics - Anfänger-Themen 10
Eileen Brüche addieren in Zwei Klassen mit JOptionPane Java Basics - Anfänger-Themen 4
K double Arrays addieren Java Basics - Anfänger-Themen 5
L Durchgang addieren Java Basics - Anfänger-Themen 5
L Zufallszahlen addieren Java Basics - Anfänger-Themen 6
S Eigene Klassen addieren Java Basics - Anfänger-Themen 3
O Werte aus ArrayList multiplizieren und dann Ergebnis addieren Java Basics - Anfänger-Themen 3
P Erste Schritte Arrays addieren Java Basics - Anfänger-Themen 18
R Binärzahlen addieren Java Basics - Anfänger-Themen 8
S 2 TimeObjekte Addieren Java Basics - Anfänger-Themen 2
K Arrays zusammen addieren - brauche Denkanstoß:) Java Basics - Anfänger-Themen 4
B Werte eines Arrays addieren Java Basics - Anfänger-Themen 16
D Inhalt der Spalten einer Tabelle addieren Java Basics - Anfänger-Themen 4
N NullPointerException beim Addieren von Matrizen Java Basics - Anfänger-Themen 3
D 3 Monate addieren Java Basics - Anfänger-Themen 10
U Diagonalen in 2D Array addieren Java Basics - Anfänger-Themen 4
T Größte und 2. Größte zahl Addieren Java Basics - Anfänger-Themen 29
Jats Zweierpotenzen addieren Java Basics - Anfänger-Themen 39
X 2 Daten addieren Java Basics - Anfänger-Themen 5
S Zahlen in Array speichern und addieren Java Basics - Anfänger-Themen 4
B Zahlenfolge addieren Java Basics - Anfänger-Themen 5
J In einer for Schleife zu einer Zahl 4 addieren? Java Basics - Anfänger-Themen 3
S primitives Objekt mit Primitiv addieren Java Basics - Anfänger-Themen 13
L longwert mit Methode addieren geht nicht! Java Basics - Anfänger-Themen 20
W Binärbaum zahlen addieren Java Basics - Anfänger-Themen 7
J Bitweise addieren Java Basics - Anfänger-Themen 6
P Kopie erstellen / addieren von Arrays Java Basics - Anfänger-Themen 5
M einen Tag addieren Java Basics - Anfänger-Themen 4
S [HILFE] Brüche addieren, multiplizieren, kürzen Java Basics - Anfänger-Themen 17
C ArrayList: Elemente addieren Java Basics - Anfänger-Themen 3
J 2 zahlen addieren Java Basics - Anfänger-Themen 3
T integer Werte einer ArrayList miteinander addieren Java Basics - Anfänger-Themen 5
N Addieren von zwei Arrays Java Basics - Anfänger-Themen 4
D Addieren und ausgeben Java Basics - Anfänger-Themen 28
V Hexadezimal Zahlen addieren Java Basics - Anfänger-Themen 14
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
G Arrays Addieren Java Basics - Anfänger-Themen 5
O Integer addieren - Wo ist der Fehler? Java Basics - Anfänger-Themen 7
X reele Zahlen zwischen zwei Werten addieren Java Basics - Anfänger-Themen 11
M EInfaches Addieren mit Abbruchbedingung Java Basics - Anfänger-Themen 9
G Zahlen addieren in einer Schleife Java Basics - Anfänger-Themen 4
M zwei zweidimensionale Arrays addieren Java Basics - Anfänger-Themen 4
Spin Integer addieren Java Basics - Anfänger-Themen 22
G int zusammenfügen NICHT addieren Java Basics - Anfänger-Themen 9
G Benutzereingaben addieren Java Basics - Anfänger-Themen 14
S Addieren zweier Arrays Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben