Vergleich per equals

noplan

Mitglied
Hallo,

ich versuche zwei Zahlenwerte per equals zu vergleichen, also betrag1.equals(betrag2), leider tuts nicht wie ich will.

Hier mal ein Codeausschnitt:

Java:
public class Geld {


	private Object first;                     // Klassenvariablen
	private Object second;

        ....
        ....


	public void ausgabe(int e1, int c1, int e2, int c2) {
        .....
        .....
        .....
	int betrag1 = (e1 * 1000) + c1;
	String a = String.valueOf(betrag1);
	int betrag2 = (e2 * 1000) + c2;
	String b = String.valueOf(betrag2);
	first = a;                                            // hier bekommt first den Wert von a
	second = b;                                        // und second den von b. Klappt auch.


	public Object getFirst() {                     // first und second als Objekte, 
	return first;                                       // damit per equals vergleichbar
	}

	public Object getSecond() {
	return second;
	}

	public boolean equals() {                   // hier soll nun verglichen werden. Ich weiß nicht,
	if (first.equals(second)) {                  // die Methode ist nicht komplett so.
		return true; }
	else {
	return false; }
	}
}

Falls der Schnipsel nicht reicht, hier der komplette Code:
View Code Snippet » Code Viewer - Source Code Upload/Viewer

Bitte nicht wundern, das Ganze ließe auch in 5 Zeilen realisieren, ist aber Aufgabe es so ausführlich und über Umwege zu machen.

Danke schonmal für Hilfe!!
 

Chumax

Aktives Mitglied
nimm nicht object für first und sec sondern zB String und wandle in der equals Methode mit Interger.parse() in eine integer den du mit < oder > vergleichen kannst.
 

eRaaaa

Top Contributor
ich würde first und second direkt bei den Variablen schon als Integer(Wrapper) deklarieren anstelle von Object (das sind übrigens Instanzvariablen, keine Klassenvariablen!)
Und dann bei getFirst und getSecond auch Integer zurückgeben!

Bei deiner equals-Methode kannst du einfach die equals Methode aus der Integer Klasse gebrauchen!

Allerdings wäre das eine total falsche Implementierung der equals-Methode!
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 3.7 Identität und Gleichheit

Code:
public boolean equals(Object obj) {
und dann müsstest du das obj Objekt mit der aktuellen instanz vergleichen (da wiederum kann man dann die beiden Geldwerte(wieso eig. zwei? ) miteinander vergleichen.

Zusammengefasst: Du brauchst zwei Geld-Objekte, die man dann miteinander vergleichen kann mit equals! (anstelle die beiden Objekte innerhalb der Instanz zu vergleichen - es sei denn das soll irgendeine komische andere equals-Methode werden und steht so in der Aufgabenstellung)
 

Wrakas

Mitglied
Hallo,

ich habe keine Ahnung warum du diesen Umweg über das Objekt machst...

Ich würde es so lösen:

Java:
public class geld {
 
	private int first;
	private int second;
	// Konstruktor
	public geld (int e1, int c1, int e2, int c2) {
	if (c1 >= 100 || c2 >= 100) {
	teiler(e1, c1, e2, c2); }
	else 
		ausgabe (e1, c1, e2, c2);
 
	}
 
	private void teiler(int e1, int c1, int e2, int c2) {
	e1 = e1 + c1 / 100;		
	c1 = c1 % 100;
	e2 = e2 + c2 / 100;		
	c2 = c2 % 100;
		ausgabe (e1, c1, e2, c2);
	}
 
	public void ausgabe(int e1, int c1, int e2, int c2) {
	System.out.println("Eingabe 1: Euro: " + e1 + " und Cent: " + c1 + " = " + e1 + "." + c1 + " EUR");
	System.out.println("Eingabe 2: Euro: " + e2 + " und Cent: " + c2 + " = " + e2 + "." + c2 + " EUR");
	int betrag1 = (e1 * 1000) + c1;
	int betrag2 = (e2 * 1000) + c2;
	first = betrag1;
	second = betrag2;
	System.out.println("a: " + betrag1 + " b: " + betrag2);
	//vergleich (a, b);
	}
 
	public int getFirst() {
	return first;
	}
 
	public int getSecond() {
	return second;
	}
 
	public boolean equals() {
	if (first==second) {
		System.out.println("ja");
		return true; }
	else {
	System.out.println("nein");
	return false; }
	}
 
 
public static void main(String[] args) throws IOException	{
/*	System.out.print("Ersten Euro-Betrag eingeben: ");
	int e1 = Integer.parseInt(System.console().readLine());
	System.out.print("Ersten Cent-Betrag eingeben: ");
	int c1 = Integer.parseInt(System.console().readLine());
	System.out.print("Zweiten Euro-Betrag eingeben: ");
	int e2 = Integer.parseInt(System.console().readLine());
	System.out.print("Zweiten Cent-Betrag eingeben: ");
	int c2 = Integer.parseInt(System.console().readLine());*/
geld g = new geld(2, 2, 2, 2);
g.equals();
}
}

Die Eingabe habe ich ausgeklammert und die Werte zum Testen mal fest eingegeben.

Gruß
Wrakas
 

Wrakas

Mitglied
Wenn dir jedoch equals besonders wichtig war, geht es auch so:

Java:
import java.io.IOException;
import java.io.*;

public class geld {

	private String first;
	private String second;
	// Konstruktor
	public geld (int e1, int c1, int e2, int c2) {
	if (c1 >= 100 || c2 >= 100) {
	teiler(e1, c1, e2, c2); }
	else 
		ausgabe (e1, c1, e2, c2);
 
	}
 
	private void teiler(int e1, int c1, int e2, int c2) {
	e1 = e1 + c1 / 100;		
	c1 = c1 % 100;
	e2 = e2 + c2 / 100;		
	c2 = c2 % 100;
		ausgabe (e1, c1, e2, c2);
	}
 
	public void ausgabe(int e1, int c1, int e2, int c2) {
	System.out.println("Eingabe 1: Euro: " + e1 + " und Cent: " + c1 + " = " + e1 + "." + c1 + " EUR");
	System.out.println("Eingabe 2: Euro: " + e2 + " und Cent: " + c2 + " = " + e2 + "." + c2 + " EUR");
	int betrag1 = (e1 * 1000) + c1;
	int betrag2 = (e2 * 1000) + c2;
	first = Integer.toString(betrag1);
	second = Integer.toString(betrag2);
	
	System.out.println("a: " + betrag1 + " b: " + betrag2);
	//vergleich (a, b);
	}
 
	public String getFirst() {
	return first;
	}
 
	public String getSecond() {
	return second;
	}
 
	public boolean equals() {
	if (first.equals(second)) {
		System.out.println("ja");
		return true; }
	else {
	System.out.println("nein");
	return false; }
	}
 
 
public static void main(String[] args) throws IOException	{
/*	System.out.print("Ersten Euro-Betrag eingeben: ");
	int e1 = Integer.parseInt(System.console().readLine());
	System.out.print("Ersten Cent-Betrag eingeben: ");
	int c1 = Integer.parseInt(System.console().readLine());
	System.out.print("Zweiten Euro-Betrag eingeben: ");
	int e2 = Integer.parseInt(System.console().readLine());
	System.out.print("Zweiten Cent-Betrag eingeben: ");
	int c2 = Integer.parseInt(System.console().readLine());*/
geld g = new geld(2, 2, 2, 2);
g.equals();
}
}

Gruß
Wrakas
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
S equals vergleich Java Basics - Anfänger-Themen 10
G String-Vergleich: Was ist besser "equals()" oder & Java Basics - Anfänger-Themen 4
heinrich172 Methoden Trotz gleichem Element stimmt Vergleich nicht? Java Basics - Anfänger-Themen 7
U Interface als PAramter (Vergleich) und ein Error Java Basics - Anfänger-Themen 9
K Erste Schritte Wie schnell ist LinkedHashMap im Vergleich zur ArrayList, wenn alle Entries durchlaufen werden? Java Basics - Anfänger-Themen 47
B Performance-Vergleich mit C++ Java Basics - Anfänger-Themen 55
K Rekursiver Vergleich von Textmuster und Text Java Basics - Anfänger-Themen 2
Zeppi Vergleich von Array-Inhalten Java Basics - Anfänger-Themen 14
Lena_2611 Vergleich von Array1 Index mit Array2 Wert und erzeugen eines neues Arrays Java Basics - Anfänger-Themen 8
J Problem beim vergleich von zwei Integer Java Basics - Anfänger-Themen 3
W Vergleich von DatenPaketen Java Basics - Anfänger-Themen 6
B String vergleich Java Basics - Anfänger-Themen 3
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
K File-Name Vergleich Java Basics - Anfänger-Themen 2
V Fließkommazahlen Vergleich Java Basics - Anfänger-Themen 7
J Vergleich Java Basics - Anfänger-Themen 2
N Vergleich von Strings schlägt fehl.. Java Basics - Anfänger-Themen 5
S Vergleich zweier ArrayLists mit Ausgabe an dritte ArrayList Java Basics - Anfänger-Themen 5
T Vergleich und Ausgabe von Zahlen Java Basics - Anfänger-Themen 1
G Klassen Vergleich zweier Klassen Java Basics - Anfänger-Themen 23
J Fehler bei Vergleich auf den grössten Wert Java Basics - Anfänger-Themen 2
A Do-While Schleife; int vergleich Java Basics - Anfänger-Themen 2
G Wieviel kostet der Zugriff auf Objektattribute im Vergleich zur Erstellung von vars in Methode? Java Basics - Anfänger-Themen 11
T Input/Output String-Vergleich schlägt fehl Java Basics - Anfänger-Themen 7
W Konvertierung und Vergleich unterschiedlicher Zeitformate Java Basics - Anfänger-Themen 11
L Vergleich zweier Variablen, mit Abweichung Java Basics - Anfänger-Themen 3
N Methoden Methode zum Vergleich zweier Geburtstage Java Basics - Anfänger-Themen 5
W Vergleich mit If-Abfrage nur für Zahlen bis 07 möglich - Warum? Java Basics - Anfänger-Themen 7
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
L PW-Vergleich Java Basics - Anfänger-Themen 5
N Vergleich zweier String Arrays scheitert Java Basics - Anfänger-Themen 3
S Vergleich von Listen Java Basics - Anfänger-Themen 6
J vergleich von arrays (benötige Hilfe/Denkanstoß) Java Basics - Anfänger-Themen 16
V Einfacher vergleich von Arrays geht schief Java Basics - Anfänger-Themen 2
T Operatoren Multiplikation nur mit Addition, Subtraktion und Vergleich Java Basics - Anfänger-Themen 29
N Methoden Array vergleich funzt nicht Java Basics - Anfänger-Themen 8
B Char-Vergleich Sonderzeichen Java Basics - Anfänger-Themen 6
S Vergleichsmethode zum Objekt-Vergleich mit < und > Java Basics - Anfänger-Themen 4
F Problem bei Vergleich Java Basics - Anfänger-Themen 3
S File vergleich - Junit Java Basics - Anfänger-Themen 6
P String-Vergleich Java Basics - Anfänger-Themen 3
S Multiplikation durch Addition, Subtraktion und Vergleich von Zahlen Java Basics - Anfänger-Themen 14
W Vergleich ob Buchstabe in einem Wort enthalten ist Java Basics - Anfänger-Themen 3
C String Objekte Vergleich je nach Instanzierung unterschiedlich!!?!! Java Basics - Anfänger-Themen 4
R String-Vergleich Java Basics - Anfänger-Themen 15
C Variablen Vergleich funktioniert nicht Java Basics - Anfänger-Themen 11
J Erste Schritte Vergleich der String-Objekte Java Basics - Anfänger-Themen 17
B Zwei verschiedene Daten vergleich Java Basics - Anfänger-Themen 2
A Variablen Vergleich Java Basics - Anfänger-Themen 5
P Erste Schritte vergleich substring und string Java Basics - Anfänger-Themen 4
G Date - Calender | "Vergleich" Java Basics - Anfänger-Themen 3
M Vergleich mit Toleranz Java Basics - Anfänger-Themen 7
B Objekt Vergleich - Unterschiede ausgeben Java Basics - Anfänger-Themen 4
P Vergleich mit Variablen Java Basics - Anfänger-Themen 6
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
K Vergleich von variable und array Java Basics - Anfänger-Themen 9
L vergleich zweier texte Java Basics - Anfänger-Themen 18
H Beim Vergleich/Sortieren mehr als zwei Objekte berücksichtigen Java Basics - Anfänger-Themen 14
B Vergleich zweier Objekte durch "Hashfunktion" Java Basics - Anfänger-Themen 12
P Vergleich von Enums Java Basics - Anfänger-Themen 4
S String Vergleich funktioniert nicht Java Basics - Anfänger-Themen 3
A String-Vergleich geht nicht Java Basics - Anfänger-Themen 2
U Automatenprüfung in Java implementieren — String Vergleich klappt nicht Java Basics - Anfänger-Themen 40
F Methoden Vergleich von int Zahlen Java Basics - Anfänger-Themen 16
F Login Passwort-Vergleich Java Basics - Anfänger-Themen 12
Z XML Vergleich Java Basics - Anfänger-Themen 20
S Herunterladen von Dateien mit Vergleich Java Basics - Anfänger-Themen 6
L Problem String-Vergleich Java Basics - Anfänger-Themen 2
E Objekte-Vergleich Java Basics - Anfänger-Themen 6
Y Datentypen String vergleich Java Basics - Anfänger-Themen 3
R Vergleich von Objekten anhand variierender Kriterien Java Basics - Anfänger-Themen 5
K Datentypen Arrays in Java - Adress-Arithmetik im Vergleich zu Listen Java Basics - Anfänger-Themen 4
A Datentypen instanceof VS Class - Vergleich Java Basics - Anfänger-Themen 4
M Char vergleich zu Int Java Basics - Anfänger-Themen 10
G Wann ist ein == Vergleich bei Gleitkommazahlen fahrlässig? Java Basics - Anfänger-Themen 8
algorismi Ausführungszeit Vergleich == true Java Basics - Anfänger-Themen 8
J Performance Vergleich von if-Abfragen mit mehreren Bedingungen Java Basics - Anfänger-Themen 9
T Zwei listen vergleich und selbige löschen Java Basics - Anfänger-Themen 4
T Vergleich mit Typecasts Java Basics - Anfänger-Themen 3
Screen Eine Frage zu moueMove in applets und deren Vergleich Java Basics - Anfänger-Themen 11
M Vergleich Float-, Doublewert Java Basics - Anfänger-Themen 10
G Vergleich zweier Arrays Java Basics - Anfänger-Themen 8
U Methode Vergleich von 2 Arrays Java Basics - Anfänger-Themen 5
S String Vergleich mit Passwort geht nur bei Zahlen ? Java Basics - Anfänger-Themen 7
G Vergleich klappt nicht Java Basics - Anfänger-Themen 3
T Vergleich von generischen Typen Java Basics - Anfänger-Themen 2
C DB Vergleich mit Eingabe Java Basics - Anfänger-Themen 5
G Vergleich großer Basen/Exponenten? Java Basics - Anfänger-Themen 3
F Vergleich von Objekten Java Basics - Anfänger-Themen 2
N Vergleich findet nicht statt. Java Basics - Anfänger-Themen 13
M 2 Fragen: Vergleich, aber wie? Was passiert in diesem Teil? Java Basics - Anfänger-Themen 18
A Vergleich schlägt fehl Java Basics - Anfänger-Themen 15
G Vergleich bei MD5-Verschlüsselung Java Basics - Anfänger-Themen 3
R +1 Vergleich Java Basics - Anfänger-Themen 3
E Char vergleich Java Basics - Anfänger-Themen 7
loadbrain Array vergleich mit 2 for schleifen Java Basics - Anfänger-Themen 6
D Vergleich von ListenElementen Java Basics - Anfänger-Themen 2
M Problem bei einem Vergleich Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben