probs mit clone und equals

deiwid

Mitglied
Hi, hab das Programm fertig, muss aber noch die Methoden equals und clone hinzufügen. Es geht aber nicht so wie ich will und das was ich mit google finde hilft mir nicht wirklich.

Ich muss ein Array kopieren und ein Array vergleichen.

[Java]
public class Array {

private int[] a;

public Array(int n) {
a = new int[n];
}

public int[] getArray(){
return a;
}

public boolean equals (Array c) {
if (this == c) {
return true;
}
return false;

public int[] clone () {

return new Array(int x);
}
}
[/Java]

Testklassen:
[JAva]
b.setArray(new int[]{12, 12, 12, 45, 45, 45, 45, 45, 56, 34});
a.setArray(new int[]{12, 12, 45, 489, 76});
c.setArray(new int[]{1, 2, 3, 4});
d.setArray(new int[]{1, 2, 3, 4});


if(c.equals(a)){
System.out.println("Das Array ist gleich! Ich freu mich!"); }
else {
System.out.println("Ich mag das Array nicht!");
}


Array f = new Array(5);
Array klonen = (Array) d.clone();
System.out.println(klonen.toString());

}
[/Java]

So habe ich mir das ungefähr vorgestellt. Funkt aber net. Bitte um Hilfe!!
 

Volvagia

Top Contributor
Du hast die Frage vergessen. Du überschreibst equal, und machst das Selbe wie in Object, was schon recht sinnlos ist. Außerdem willst du ja den Inhalt und nicht die Referenz vergleichen.
Und clone gibt ein neues leeres Objekt zurück. Zudem übergibst du als Parameter eine Variable, die natürlich 0 ist. Unter Umständen wird er aber eine Exception schmeißen, habs selbst aber noch nie mit primitiven Typen versucht, da es sinnlos wäre.
 

Kruemel

Mitglied
Die equals Methode sollte mit einer Schleife alle Elemente des Arrays vergleichen, beim ersten auftreten eines Unterschiedes könnte false zurückgegeben werden.

public Boolean equals(Array c){
int[] com = c.getArray();

if(this.getArray().length!=c.getArray.length)
return false;

for(int i=0; i<this.getArray().length; i++){
if(com!=a)
return false;
}
return true;
}

Die clone Methode sollte ein neues Array erstellen, so wie du das gemacht hast allerdings das Array noch füllen, vorgehensweise wäre identisch nur anstatt zu vergleichen eine Schleife die jeweils die Elemente kopiert.

Gruß, Kruemel
 

Kruemel

Mitglied
Die clone Methode müsste so aussehen:

Java:
public Array clone(){

Array neu = new Array(a.length);
int[] neuarray = neu.getArray();

for(int i=0; i<a.length; i++){
    neuarray[i]=a[i];
}

return neu;
}

Ich empfehle ein Buch über Java wenn du dich damit auseinandersetzten willst!
Kostenlos: Java ist auch eine Insel
Echt gut: Java in 21 Tagen

Gruß, Kruemel
 

Haave

Top Contributor
Du überschreibst toString() zwar in deiner Klasse Array, aber die Variable klonen ist hier kein solches Array, sondern ein int[] und weiß damit nichts von deiner Überschreibung.
 

deiwid

Mitglied
Java:
public class Array { private int[] a; public Array(int n) { a = new int[n];  }  public int[] getArray(){
        return a;
    } public boolean equals (Array c) { if (this == c) { return true;}  return false; public int[] clone () {
 return new Array(int x);
    }
        }
 
G

Gast2

Gast
Willst du uns mit dem unformatierten Quellcode in einem über ein Jahr alten Thread irgendwas sagen? Soll das gar noch ne Frage sein?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
monsterherz 2 Klassen daher Probs mit dem Dateinamen Java Basics - Anfänger-Themen 9
P orphaned case macht probs Java Basics - Anfänger-Themen 3
X Verzeichnis Probs mit Klassen Java Basics - Anfänger-Themen 3
L Compiler-Fehler SupressWarning für clone() Java Basics - Anfänger-Themen 6
S Copy - Constructor vs clone() Java Basics - Anfänger-Themen 20
S Collections funktionale Listen (ListNode<E>) review und problem beim clone Java Basics - Anfänger-Themen 0
F Methoden Object.clone() Java Basics - Anfänger-Themen 1
B Klasse: Methode Clone Java Basics - Anfänger-Themen 5
Q Methode clone() bei Vererbung Java Basics - Anfänger-Themen 5
U "Clone" Fragen Java Basics - Anfänger-Themen 3
Luk10 Arrays.copy(myArray) vs myArray.clone() Java Basics - Anfänger-Themen 9
H Interface clone-Methode in Interface Java Basics - Anfänger-Themen 6
A Shallow copy .super.clone() Java Basics - Anfänger-Themen 2
B Deep Clone Java Basics - Anfänger-Themen 12
K clone() Java Basics - Anfänger-Themen 12
B clone() und casts umschreiben Java Basics - Anfänger-Themen 4
S Eigenes Objekt temporär verändern? (Clone)? Java Basics - Anfänger-Themen 12
T Deep Clone Java Basics - Anfänger-Themen 3
I clone() und Referenzen Java Basics - Anfänger-Themen 25
E Vector und clone() Java Basics - Anfänger-Themen 6
M Brauch ich dazu clone()? Java Basics - Anfänger-Themen 5
C Frage zu clone() Java Basics - Anfänger-Themen 2
B clone(), Clonable und Felder von Interfacetypen Java Basics - Anfänger-Themen 3
G Frage zu clone() Java Basics - Anfänger-Themen 6
G Problem clone und Vektor Java Basics - Anfänger-Themen 4
P Clone Methode treibt mich zum Wahnsinn Java Basics - Anfänger-Themen 10
M Arrays clonen mit clone() scheint nicht zu funktionieren Java Basics - Anfänger-Themen 4
S JPanel mit clone() duplizieren Java Basics - Anfänger-Themen 4
S Objekt klonen mit clone() Java Basics - Anfänger-Themen 3
Say Equals Java Basics - Anfänger-Themen 6
W LocalDate vergleichen mit Equals? Java Basics - Anfänger-Themen 7
W Equals-Methode überschreiben bei composition Java Basics - Anfänger-Themen 20
W Wann und warum hashcode und equals? Java Basics - Anfänger-Themen 14
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
J compareTo()- und equals-Methode Java Basics - Anfänger-Themen 3
S 2 Strings mit Equals vergleichen Java Basics - Anfänger-Themen 11
lallmichnichtzu Methoden Überladen des .equals-Operators Java Basics - Anfänger-Themen 6
C Objekt1.equals(Objekt2) = immer false. Wieso? Java Basics - Anfänger-Themen 22
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
S Interface Equals und hashCode Java Basics - Anfänger-Themen 16
G Java equals() Methode Java Basics - Anfänger-Themen 9
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
B Date - Vergleich (equals / after) ? Java Basics - Anfänger-Themen 3
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
D Unterschied == und equals in Arrays Java Basics - Anfänger-Themen 2
O equals Methode möglichst effizient Java Basics - Anfänger-Themen 13
H equals methode Java Basics - Anfänger-Themen 1
L Logistiksystem Methode equals und hashcode Java Basics - Anfänger-Themen 20
J Methoden Equals Methode für Integer und Objekte überschreiben? Java Basics - Anfänger-Themen 9
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
A OOP Richtige Verwendung von ArrayList und equals Java Basics - Anfänger-Themen 24
E equals Prüfung fehlgeschlagen Java Basics - Anfänger-Themen 3
C Objekt equals Java Basics - Anfänger-Themen 2
L String überprüfen mit .equals .contains oder .matches? Java Basics - Anfänger-Themen 1
H equals Methode Java Basics - Anfänger-Themen 1
F String equals NULL Problem Java Basics - Anfänger-Themen 4
D Auf equals von Vaterklasse zugreifen Java Basics - Anfänger-Themen 4
S Methoden equals(object o) / toString Java Basics - Anfänger-Themen 15
E Calender - Equals Problem Java Basics - Anfänger-Themen 14
T Datentypen compareTo() u. equals() bei Strings Java Basics - Anfänger-Themen 3
Psypsy hashCode, equals und toString Java Basics - Anfänger-Themen 3
K hashCode, compareTo vs. equals Java Basics - Anfänger-Themen 3
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
S Unterschiede zwischen equals und contains Java Basics - Anfänger-Themen 2
F Erste Schritte Hilfe bei Übung zu String equals() und Schleifen Java Basics - Anfänger-Themen 8
A Probleme mit equals und get.Text Java Basics - Anfänger-Themen 12
S compareTo() und equals() Java Basics - Anfänger-Themen 6
S equals Methode bei String Java Basics - Anfänger-Themen 5
R illegal start of expression - 3 Strings vergleichen mit .equals () Java Basics - Anfänger-Themen 5
K Cast bei equals Java Basics - Anfänger-Themen 2
T SQL equals Java Basics - Anfänger-Themen 4
OnDemand Methoden Equals Methde Java Basics - Anfänger-Themen 3
D if block mit equals im rumpf Java Basics - Anfänger-Themen 11
K Vererbung equals-Methode bei Vererbung abstrakter Klassen Java Basics - Anfänger-Themen 8
SexyPenny90 Wieso ist diese eigene Equals-Methode schlecht? Java Basics - Anfänger-Themen 17
K String - Equals Java Basics - Anfänger-Themen 2
J Klassen Warum ist (a.equals(b)) gleich (a==b)? Java Basics - Anfänger-Themen 13
B Warum gibst hier Equals false zurück ? Java Basics - Anfänger-Themen 23
S Verständnissfrage equals() Java Basics - Anfänger-Themen 2
R compareTo & equals Java Basics - Anfänger-Themen 10
M Verschiedene Möglichkeiten mit 'equals' abdecken? Java Basics - Anfänger-Themen 9
M Collections Problem bei Überschreibung von hashcode() und equals() bei Hashset-Implementierung Java Basics - Anfänger-Themen 5
W Stringvergleich mit equals Java Basics - Anfänger-Themen 13
C equals() Java Basics - Anfänger-Themen 4
D Problem mit string.equals bzw string.contains Java Basics - Anfänger-Themen 4
T Problem mit der while(!string.equals("x")) Java Basics - Anfänger-Themen 2
E Equals-Methode auf Class-Object Java Basics - Anfänger-Themen 17
X problem mit equals.gelöst Java Basics - Anfänger-Themen 2
J Methode equals() Java Basics - Anfänger-Themen 7
M Equals überschreiben Java Basics - Anfänger-Themen 3
K equals() und hashcode() überschreiben Java Basics - Anfänger-Themen 5
K equals in Hashmap() Java Basics - Anfänger-Themen 4
B if equals(irgendeine Zahl+Buchstabe) Java Basics - Anfänger-Themen 6
T equals() und hashCode() Java Basics - Anfänger-Themen 7
3 Collections containsKey() liefert false obwohl equals() true liefert Java Basics - Anfänger-Themen 6
N Vergleich per equals Java Basics - Anfänger-Themen 5
S comparable und equals Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben