Tanelorn.net

Medien & Phantastik => Multimedia => Multimedia - Software & Betriebsysteme => Thema gestartet von: Imion am 8.08.2007 | 00:51

Titel: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: Imion am 8.08.2007 | 00:51
Danke erstmal all Jenen, die sich herabgelassen haben mir Unwissenden das Eine oder Andere zu erklären.
Nun stehe ich wieder vor einem, besonders hartnäckigen Problem, das mich noch schier in den Wahnsinn treiben mag.

In einer for-Schleife bestücke ich eine ArrayList mit Werten. Dazu werden Werte aus andere ArrayLists ausgelesen, und darauf mittels 'if/else if' andere Werte ermittelt, die in die erstgenannte ArrayList geschrieben werden.

Nun stellte sich heraus, dass besagte Werte mal korrekt, mal völlig entgegen den if-Bedingungen, und mal überhaupt nicht ermittelt werden. An den if-Bedingungen kann es nicht liegen. Den betreffenden Bereich habe ich 3 mal neu geschrieben, und er sollte (meines Erachtens nach) alle möglichen Fälle abdecken.

Ich habe schon an Artefakte aus vorhergehenden Durchläufen gedacht, aber inzwischen habe ich schon 2 mal 'ArrayList'.clear(), vorgeschaltet. Daran sollte es also nicht liegen.

Ist mein Rechner zu doof die Anweisungen durchzuführen? Bin ich zu doof, ein recht simples Programm zu schreiben? Eine  :verschwoer: ?

Bei Bedarf stelle ich gerne den Code ins Post, ist aber recht umfangreich.
Titel: Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: Xardok am 8.08.2007 | 02:57
Ich vermute ohne Code kommen wir hier nicht weit...

Und nein, keine Sorge du bist nicht zu doof. Java ärgert dich einfach mit Absicht ein bisschen, sonst wär's nicht Java. ;)
Titel: Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: Dom am 8.08.2007 | 06:38
Am besten wäre ein Minimalbeispiel. Versuche einfach, so viel Code wie möglich wegzulassen so, dass der Fehler immer noch auftritt. Also wenn die if...else if...else if... sehr lang ist, schau mal was passiert, wenn du ein paar weglässt. Darüberhinaus wäre es gut, wenn du genau beschreibst, wie man mit dem Code den Fehler reproduzieren kann.
Titel: Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: Der Count am 8.08.2007 | 07:02
Bist Du das Ganze mal per Debug-Funkion durchgegangen?
Vor allem bei rätselhaften Fehlern hilft das oft weiter, wenn man sich den Weg durch das Programm und dabei die jeweiligen Werte der Variablen ansehen kann.

Was benutzt Du eigentlich zum Programmieren in Java?
Titel: Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: avakar am 8.08.2007 | 08:12
Bei Bedarf stelle ich gerne den Code ins Post, ist aber recht umfangreich.
Das müsstest du in dem Fall bitte machen. Du kannst den Code aber auch als Anhang an den Post anfügen, wenn er zu lang ist.
Titel: Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: Schlechter SL am 8.08.2007 | 08:47
Zitat
Bei Bedarf stelle ich gerne den Code ins Post, ist aber recht umfangreich.
Es reicht eigentlich erstmal, wenn Du den Quellcode der for-Schleife postest.
Zitat
er sollte (meines Erachtens nach) alle möglichen Fälle abdecken.
Ich vermute, da liegt das Problem. Ich könnte mir vorstellen, unbeabsichtigt Fallüberschneidungen drin hast, aber ohne Code, kann man da wirklich gar nichts sagen.
Titel: Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
Beitrag von: Imion am 8.08.2007 | 13:16
OK, ich bin vielleicht nicht doof, aber zeitweise doch recht dähmlich.

Ich bin das Ganze noch mal durchgegangen, und hab dabei gemerkt, dass ich einen nicht mehr benötigten Posten aus einigen ArrayLists gelöscht habe. Dabei hab ich aber anscheinend gerade die ArrayList vergessen, die ich erst später angefügt habe. Sprich der Wert war noch vorhanden und hat die nachfolgenden Berechnungen ver*piep*t.

Dieser Erkenntnisprozess hat mich jetzt die letzten 1,5 Tage gekostet. Manchmal möchte ich echt den ganzen Tag  :bang: :bang:.

Jedenfalls danke an alle, die sich die Mühe gegeben haben, sich den Kopf für mich zu zerbrechen.