2 mal Fehler bei TrivialeTests

persiansam
Erstie
Erstie
Beiträge: 17
Registriert: 22. Okt 2006 17:39
Kontaktdaten:

2 mal Fehler bei TrivialeTests

Beitrag von persiansam »

Hi,
Ich verstehe nicht, wo der Fehler liegt. Zum 2mal schlägt es an der selben Stelle fehl. Erstmal mein Protokollergebnis
----------------------------------------------------------------------------------------------
compile:
[javac] Compiling 3 source files to /home/wach/GDI2/Praktikum/Testatsystem/P1/bin

compiletests:
[javac] Compiling 3 source files to /home/wach/GDI2/Praktikum/Testatsystem/P1/bin

test:
[junit] Running NoTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.005 sec
[junit] Running TrivialeTests
[junit] Tests run: 2, Failures: 0, Errors: 1, Time elapsed: 0.008 sec

BUILD FAILED
/home/wach/GDI2/Praktikum/Testatsystem/P1/build.xml:37: Test TrivialeTests failed

Total time: 1 second
-----------------------------------------------------------------------------------------------

Ich habe auch einen NullPointerException reingehaut.
In dieser Art

Code: Alles auswählen

 if (objektgroessen == null || objektwerte == null || anzahlobjekte == 0 ) 
und dann eben die NullPointerException rausgeworfen. Bei mir wirft er auch unter diesen Bedingungen einen NullPointerException.
Außerdem wirft er bei mir eine IllegalArgumentsExceptions bei folgende Fälle (funktionieren bei mir einwandfrei):
1) unterschiedlichen Arraygrössen für Objektgröße und Objektwert
2) Wenn die übergebende Zahl im "anzahlderobjekte" sich von der Arraygroesse unterscheidet
3) bei negative Werten

Benutzeravatar
seth2k1
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 153
Registriert: 29. Sep 2006 00:53
Wohnort: Darmstadt - Eberstadt

Beitrag von seth2k1 »

hm.. ich würde sagen, dass wenn man nichts hat man auch nichts in den rucksack packen kann.. aber eine fehlerhafte eingabe ist es nicht
"Hallo, ich verkaufe diese modischen Lederjacken!"

persiansam
Erstie
Erstie
Beiträge: 17
Registriert: 22. Okt 2006 17:39
Kontaktdaten:

Beitrag von persiansam »

Ich habe es davor ohne den NullPointerException versucht. Da kam der gleiche Fehler.
Vielleicht liegt ja das Problem, daran:

Code: Alles auswählen

	long groesse = 19;
	int groessen[] = {};
    int werte[]  = {2, 3, 4, 5, 6, 7, 8};  
---> Wirft wegen der unterschiedliche Anzahl eine IllegalArgumentsException

Code: Alles auswählen

long groesse = 19;
	int groessen[] = {2, 3, 4, 5, 6, 7, 8};
    int werte[]  = {} ;  
---> Wirft wegen der unterschiedliche Anzahl eine IllegalArgumentsException

Code: Alles auswählen

long groesse = 0;
	int groessen[] = {};
    int werte[]  = {};
 
    Praktikum_1 p = new Praktikum_1(groessen, werte, 2, groesse);
---> Wirft wegen der unterschiedliche Anzahl der Objektgroessen und Anzahl der Objekte eine IllegalArgumentsException

Code: Alles auswählen

long groesse = 0;
	int groessen[] = {};
    int werte[]  = {};
 
    Praktikum_1 p = new Praktikum_1(groessen, werte, 0, groesse); 
---> Wirft eine Nullpointerexception

Vielleicht hängs daran, dass er nur eine NullpointerException wirft, wenn ALLE werte NULL oder 0 (bei Anzahl der Objekte) sind. Wenn das so ist, weiß ich nicht wie ich mein Programm so ändern muss, damit er schon bei eine NULL-Element einen NullPointerException wirft. Ich habe es auch mit ODER verknüft (siehe vorherige Posts) und den NullPointerException Code vor der IllegalArgumentsException Code geschrieben.

banshee
Nerd
Nerd
Beiträge: 684
Registriert: 22. Okt 2006 18:46

Beitrag von banshee »

also ich persönlich würde nur eine NullPointerException werfen, wenn anstatt den arrays auch wirklich null übergeben wird.

außerdem würde ich auch keine IllegalArgumentException werfen, wenn in deinen arrays mehr werte drin sind, als in anzahlobjekte ;)

HolgerF
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 263
Registriert: 16. Jan 2007 14:20
Kontaktdaten:

Beitrag von HolgerF »

NullPointerException werfe ich nirgends manuell, die tritt sowieso implizit bei der weiteren Fehlersuche auf. Eine NullPointerException zu werfen, wenn anzahlobjekte == 0, ist auf jeden Fall falsch, denn das erfüllt schlicht nicht die Bedingungen einer NullPointerException.
Die einzigen Fehler, die ich geprüft habe und die in meinen Augen Sinn machen, sind Überprüfen, dass anzahlobjekte und rucksackgroesse nicht negativ sind und dass die Array-Größen mit anzahlobjekte übereinstimmen. Außerdem noch, dass die Werte und Gewichte nicht negativ sind (obwohl das streng genommen gar kein Fehler sein muss, sowas hätte die Aufgabenstellung eigentlich definieren müssen...). All diese Fälle sind IllegalArgument. Und das wurde auch akzeptiert.

persiansam
Erstie
Erstie
Beiträge: 17
Registriert: 22. Okt 2006 17:39
Kontaktdaten:

Beitrag von persiansam »

Ok, Nullpointer entfernt. 7.Versuch. Die Überprüfung von negative rucksackgroesse (anzahlgroesse) eingebaut. Habe einen kleinen Fehler bei getOptimaleBefuellung gefixed. Mehr weiß ich echt nicht. Wenn ich wüsste was beim TrivialeTests geprüft würde... Dann hätte ich bestimmt das Problem in den Griff bekommen.
Außer den Exceptions muss nur der OptimaleWert und Optimalebefuellung stimmen, oder?

chrislem
Neuling
Neuling
Beiträge: 7
Registriert: 28. Apr 2007 17:00

Beitrag von chrislem »

Ich hab den selben Fehler... hab schon 6 mal was hochgeladen, jedesmal der selbe Fehler ... Hab alles probiert und ohne zu wissen was der Fehler ist kann man es schwer fixen. Ein Error kann ja eigentlich nur auftreten wenn was schiefläuft, d.H. IndexOutOfBoundException, Stackoverflow, NullpointerException usw ... Wenn man mir wenigstens sagen könnte was es ist ... dann hätte ich ne Chance den Fehler zu finden. Bei mir laufen allemöglichen Tests und es kommt immer das richtige raus ...

Erebos
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 27. Apr 2007 00:51

Beitrag von Erebos »

wie lange dauert es denn eigentlich bis das jar file getestet wurde?
habs eben hochgeladen und mir ist grad ein fehler aufgefallen...

chrislem
Neuling
Neuling
Beiträge: 7
Registriert: 28. Apr 2007 17:00

Beitrag von chrislem »

Ich warte auch schon seit 3 Stunden auf nen Test ...

nieswand
Mausschubser
Mausschubser
Beiträge: 60
Registriert: 28. Apr 2007 15:13

Beitrag von nieswand »

Habt ihr daran gedacht auch alle einzelnen Werte innerhalb der Arrays zu prüfen?

Die dürfen bei mir weder 0 noch negativ sein und da sind die

trivialen Tests durchgelaufen.

Also einfach Arrays mit for-schleife durchgehen und Werte überprüfen.

Erebos
Mausschubser
Mausschubser
Beiträge: 47
Registriert: 27. Apr 2007 00:51

Beitrag von Erebos »

ja genau das fehlt mir

chrislem
Neuling
Neuling
Beiträge: 7
Registriert: 28. Apr 2007 17:00

Beitrag von chrislem »

Hab ich gemacht hab trotzdem den Fehler ...

Benutzeravatar
Ottifanti
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 113
Registriert: 22. Nov 2005 15:49

Beitrag von Ottifanti »

Gibt es eigentlich irgendwo verbindliche Infos, was fehlerhafte Eingaben sind? Das liegt doch im Auge des Betrachters (Programmierers)?? (außer den null-Pointern)
Mostly harmless

Benutzeravatar
MisterD123
Geek
Geek
Beiträge: 811
Registriert: 31. Okt 2006 20:04
Wohnort: Weiterstadt

Beitrag von MisterD123 »

schau mal auf die praktikumswebsite, in den news unten stehen noch ein paar hinweise.

Antworten

Zurück zu „Archiv“