Hallo,
wir haben die Aufgabe eine verkette Liste selber zu implementieren, die auch Elemente vergleichen kann.
Aufgabenausschnitt:
Jedes Objekt der Klasse MyIntListElement stellt ein Listenelement dar. Ein Lis- tenelement enthält den zu speichernden Integer-Wert (value), sowie einen Verweis auf das nachfolgende Listenelement next. Die Methode getNext liefert den Verweis auf das nächste Element zurück, während die Methode setNext diesen modifiziert. Implementieren Sie die beiden folgenden Methoden:
(i) Die Methode compare erhält einen Verweis auf ein anderes Objekt vom Typ MyIntListElement und vergleicht value des aufgerufenen Objektes (this) mit dem des übergebenen Objektes. Sollten die beiden Werte übereinstimmen, so wird 0; sollte der Wert von this kleiner sein, so wird −1 und sonst 1 zurück- gegeben. (3 P.)
Ich verstehe nicht, wie ich das "andere Objekt" vom Typ MyIntListElement mit einem Integer Wert vergleichen kann. Ich kann ja kein Value Wert von dem "anderen Objekt aufrufen.
public class MyIntListElement<T> {
private int value;
protected T next;
public MyIntListElement(int value, T next){
this.value = value;
this.next = next;
}
public T getNext(){
return this.next;
}
public void setNext(T next){
this.next = next;
}
public int compare(T otherElement){ //HIER IST DAS PROBLEM
//TODO
if (otherElement==this.value)
return 0;
if (otherElement>this.value)
return -1;
if (otherElement<this.value)
return 1;
}
@Override
public String toString(){
//TODO
return "";
wir haben die Aufgabe eine verkette Liste selber zu implementieren, die auch Elemente vergleichen kann.
Aufgabenausschnitt:
Jedes Objekt der Klasse MyIntListElement stellt ein Listenelement dar. Ein Lis- tenelement enthält den zu speichernden Integer-Wert (value), sowie einen Verweis auf das nachfolgende Listenelement next. Die Methode getNext liefert den Verweis auf das nächste Element zurück, während die Methode setNext diesen modifiziert. Implementieren Sie die beiden folgenden Methoden:
(i) Die Methode compare erhält einen Verweis auf ein anderes Objekt vom Typ MyIntListElement und vergleicht value des aufgerufenen Objektes (this) mit dem des übergebenen Objektes. Sollten die beiden Werte übereinstimmen, so wird 0; sollte der Wert von this kleiner sein, so wird −1 und sonst 1 zurück- gegeben. (3 P.)
Ich verstehe nicht, wie ich das "andere Objekt" vom Typ MyIntListElement mit einem Integer Wert vergleichen kann. Ich kann ja kein Value Wert von dem "anderen Objekt aufrufen.
public class MyIntListElement<T> {
private int value;
protected T next;
public MyIntListElement(int value, T next){
this.value = value;
this.next = next;
}
public T getNext(){
return this.next;
}
public void setNext(T next){
this.next = next;
}
public int compare(T otherElement){ //HIER IST DAS PROBLEM
//TODO
if (otherElement==this.value)
return 0;
if (otherElement>this.value)
return -1;
if (otherElement<this.value)
return 1;
}
@Override
public String toString(){
//TODO
return "";