Objekte Vergleichen

Status
Nicht offen für weitere Antworten.

wurmi86

Mitglied
Hallo Jungs und Mädels,

ich stecke bei einer Aufgabe fest, ich hoffe, mir kann dabei jemand helfen. Ich soll die Methode compareTo() !umsetzen!. diese, gibt eine Schnittstelle zur verfügung. Diese Schnittstelle soll in einer Klasse implementiert werden. So weit, so gut. Jetzt kommt aber der Hänger bei mir. Die Methode soll ein Ordered-Objekt(Name der Schnittstelle) als parameter bekommen und gibt int zurück. Meine Frage: wie kann ich diese Vergleichen?
hab diese schon implementiert, aber da lacht Java, weil ich kann doch nur konstanten in Schnittstellen implementieren oder? Aber womit soll ich denn dann vergleichen?

Und ja, ich weis, dass es schon viele derartige Posts gab, aber die haben mir auch nihct weiter geholfen, ich hoffe ihr schaft das.

so weit bin ich,abgesehen von der main methode und so:
Java:
interface Ordered{
	int compareTo(Ordered o);
}

class OrderedInteger implements Ordered{
	int wert;
	public OrderedInteger(int wert){ this.wert = wert;}

	public int compareTo(Ordered o){
		int rueck = 0;
        
		if((o != null)&&(o instanceof OrderedInteger)){
			if(this.wert < o.wert) rueck = -1;
			if(this.wert > o.wert) rueck = 1;
			else rueck = 0;
		}
		return rueck;
	}
}

MfG Wurmi
 

Leroy42

Top Contributor
Java:
public int compareTo(Ordered o){
        int rueck = 0;
        
        if((o != null)&&(o instanceof OrderedInteger)){
            if(wert < ((OrderedInteger) o).wert) rueck = -1;
            if(wert > ((OrderedInteger) o).wert) rueck = 1;
            else rueck = 0;
        }
        return rueck;
    }

Aber falls o null ist oder keine OrderedInteger-Instanz
würde ich lieber eine Exception werfen!
 

wurmi86

Mitglied
das werd ich dann auch hinzufügen. Das Problem ist aber trotzdem der Vergleich. Ich soll dann ein Array mit Ordered als Inhalt auf Maximum und Sortiert oder nicht Prüfen. Dazu brauch ich ja die compareTo-Methode. Aber ich sitzte echt aufm Schlauch, weil ich einfach nicht weis, wie ich es richtig implementiere.

und die zu prüfenden Werte sind ja auf jedenfall immer vom Typ Ordered, die geb ich später ja vor =)

Gruss Wurmi

danke übrigens fürs schnelle antworten
 

wurmi86

Mitglied
Ups lol. Also nochmal:)

Ich hab noch zwei Methoden, die bekommen (Ordered[] a) als Parameter. Eine gibt das Maximum an. die andere Prüft ob das Array sortiert ist. mehr nicht. und dafür benötige ich die compareTo Methode. habe aber null ahnung, wie ich vergleichen soll.

so z.B würde eine davon aussehen( so wie ich es mir jetzt gedacht habe). da stört aber, dass ich in der Schnittstelle nix implementieren kann. Keinen Konstruktor oder ähnliches. deswegen funktioniert auch nicht das
mit: a.wert

weil es wert ja gar nicht gibt. aber irgendwas brauche ich doch zum vergleichen oder nicht?

Java:
Ordered Max(Ordered []a){
		int maxindex=0;
		for(int i = 0; i < a.length;i++){
			if(a[i].wert>a[i+1].wert) maxindex = i;
		}
		return a[maxindex];
}


Ich brauch einfach eine Idee.

Gruss Wurmi
 

Leroy42

Top Contributor
weil es wert ja gar nicht gibt. aber irgendwas brauche ich doch zum vergleichen oder nicht?

Richtig! Deshalb war deine Abfrage auf o instanceOf OrderedInteger schon genau richtig.

Und wenn dem so ist, mußt du dein o zuerst auf OrderedInteger casten um dadurch
auf die Instanzvariable wert zuzugreifen.

Also genau, wie ich die Methode in meinem vorherigen Posting gecodet habe.

Und im Aufruf schreibst du dann einfach:

Java:
if(a[i].compareTo(a[i+1]) > 0) maxindex = i;
 

wurmi86

Mitglied
aha! Fantastisch riesen Dank! jetz läufts =). hab inzwischen auch mit den schnittstellen kapiert..
suuper!
Danke Leroy42

Mfg Wurmi
 

wurmi86

Mitglied
Hm. jetzt weis ich nicht, wie ich in der main. Meine zwei Methoden aufrufe:

hier findet der Compiler keine methode Max(Ordered []) in der Main klasse
Java:
System.out.println("Max: "+((OrderedInteger) Max(or)).wert);

Wieso nicht? Die Methoden Max und isOrdered sind beide Public. Muss ich hier mit extends erweitern?

Wurmi
 
S

SlaterB

Gast
Code wäre nicht schlecht und genauer Wortlaut der Fehlermeldung,
Methoden (und Variablen) nie großschreiben, sonst sind sie nicht von Klassen zu unterscheiden

wahrscheinlicher Fehler:
die main ist eine statische Methode, da kannst du nur andere statische Methoden aufrufen,
falls die aktuelle Klasse X heißt, geht auch:

X x = new X();
x.max(..);
 

wurmi86

Mitglied
Hallo SlaterB, du schläfst wohl nie was?

also java nörgelt, dass es keine methode Max(Ordered) ind der Klasse Ordered[] findet. hab schon alles hin und her gecastet aber find den dreh irgedwie nicht raus..

das ist der aufruf
Java:
System.out.println("Max: "+ or.Max(or).wert);

und das ist der Rest des Programms:

Java:
interface Ordered{
	int compareTo(Ordered o);
}

class OrderedInteger implements Ordered{
	int wert;
	public OrderedInteger(int wert){ this.wert = wert;}

    public int compareTo(Ordered o){
        int rueck = 0;

        if((o != null)&&(o instanceof OrderedInteger)){
            if(wert < ((OrderedInteger) o).wert) rueck = -1;
            if(wert > ((OrderedInteger) o).wert) rueck = 1;
            else rueck = 0;
        }
        return rueck;
    }
}

class Ord{
	public boolean isOrdered(Ordered[]a){
		boolean rueck = true;
		for(int i = 0; i < a.length;i++){
			if(((OrderedInteger)a[i]).wert>((OrderedInteger)a[i+1]).wert) rueck = false;
	    }
	    return rueck;
	}

	public Ordered Max(Ordered []a){
		int maxindex=0;
		for(int i = 0; i < a.length;i++){
			if(a[i].compareTo(a[i+1]) > 0) maxindex = i;
		}
		return a[maxindex];
	}
}

Achja und wenn schon so ein Java-Guru online ist: du kennst dich nicht zufällig mit tiefem Kopieren aus oder?

Gruss Wurmi
 
S

SlaterB

Gast
ich kenne mich mit allem aus ;)

und immer noch: du musst ein Objekt der fraglichen Klasse erstellen, wenn du nicht-statische Methoden aufrufen willst

und jetzt schlafe ich
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
R Objekte Vergleichen und Sortieren Java Basics - Anfänger-Themen 3
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
A Objekte aus 2 Klassen mit compareTo() vergleichen Java Basics - Anfänger-Themen 7
F Objekte vergleichen kleiner/größer? Java Basics - Anfänger-Themen 4
M Objekte vergleichen Java Basics - Anfänger-Themen 5
P Serialisierung - Objekte vergleichen Java Basics - Anfänger-Themen 4
O Objekte miteinander vergleichen und sortieren Java Basics - Anfänger-Themen 10
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
T Objekte vergleichen? Java Basics - Anfänger-Themen 6
L Objekte in einer ArrayList vergleichen Java Basics - Anfänger-Themen 19
S Objekte vergleichen Java Basics - Anfänger-Themen 4
C 2 Objekte (mathematisch) vergleichen in der equals Methode Java Basics - Anfänger-Themen 10
G Objekte vom Typ Date vergleichen Java Basics - Anfänger-Themen 2
G Objekte Vergleichen Java Basics - Anfänger-Themen 5
C Objekte auf gleichheit vergleichen Java Basics - Anfänger-Themen 3
D Initialisierung von Klassen-Objekte Java Basics - Anfänger-Themen 47
W Objekte erzeugen Httprequest oder Httpclient Java Basics - Anfänger-Themen 3
G Kann Arrays.stream() auch auf Objekte angewant werden? Java Basics - Anfänger-Themen 40
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
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
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
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
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
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
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
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
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
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

Ähnliche Java Themen

Neue Themen


Oben