Konzeptionelle Fehler

Speedy85

Mitglied
Hallo, ich habe eine Java Aufgabe die ich schon fast komplett gelöst habe, nur komme ich bei dem Teil nicht weiter. Man soll drei konzeptionelle Fehler im COde finden. Ich finde nur einen Fehler und zwar zwecks den Klammern mal, es wird auf zwei arten gemacht. Und es sollte in einem COde ja einheitlich sein, kann mir jemand bitte helfen, kurz mal druber schauen.

Vielen Dank im vorraus


Java:
import java.util.ArrayList;
import java.util.List;
/* Ein Objekt der Klasse IntSet repräsentiert eine Menge
* (im mathematische Sinne) von Integern.
* Die Klasse ist wertorientiert.
*/
public class IntSet {
/* Container für die Elemente der Menge
* Repräsentationsinvariante: eltList hat keine Duplikate */
private List<Integer> eltList;
/* Konstruktor der leeren Menge */
IntSet() {
eltList = new ArrayList<Integer>();
}
/* Konstruktor aus einer Liste von Zahlen */
IntSet( List<Integer> intList ) {
eltList = intList;
}
/* Ein Element der Menge hinzufügen */
IntSet add( Integer i ) {
IntSet set = new IntSet();
for ( Integer j: this.eltList ) {
set.eltList.add( j );
}
set.eltList.add( i );
return set;
}
/* Mengenvereinigung */
IntSet union( IntSet set ) {
this.eltList.addAll( set.eltList );
return this;
}
/* Anzahl der Elemente */
int getSize() {
return eltList.size();
}
}
 
EInmal wir die klammer drunter geschlossen und beim anderen in der gleichen Zeile, das war der einzige fehler den ich finden konnte. Was hast du gefunden ?

Java:
{
}

{}
 
Ich wollte schon sagen, dass Mengen keinen Wert mehrfach enthalten dürfen ... stimmt aber nicht 🙂

Aber mal ehrlich Speedy85, wie man die Klammern setzt sind doch keine konzeptionellen Fehler!
 
Zum einen ist die Invariante "eltList hat keine Duplikate" falsch, denn beim add erfolgt keine Prüfung. Außerdem tut die Klasse so, als ob sie immutable sein will, ist sie aber nicht, sondern stellt so einen komischen Mischmasch-Betrieb dar.

Die Syntax würde ich jetzt nicht als konzeptionellen Fehler ansehen. Einen "Fehler" sehe ich noch, aber jetzt seid ihr dran!
 

Neue Themen


Zurück
Oben