Autor Thema: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet  (Gelesen 1165 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Imion

  • Legend
  • *******
  • GURPShead
  • Beiträge: 4.866
  • Username: Imion
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.
If the internet has shown us anything... anything... it has shown us that there is no such thing as "too batshit crazy to operate a computer."

Everybody's a book of blood. Wherever we're opened, we're red.

Außerirdische sind nicht rechtsfähige, bewegliche, herrenlose Sachen. Wer sie findet und mitnimmt darf sie behalten.

Offline Xardok

  • Opfer St. 16
  • Famous Hero
  • ******
  • Das GroFaKottchen
  • Beiträge: 2.577
  • Geschlecht: Männlich
  • Username: Xardok
    • Das GrosseFantasyForum
Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
« Antwort #1 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. ;)

Offline Dom

  • Stiftung Rollenspieltest
  • Famous Hero
  • ******
  • Beiträge: 2.369
  • Geschlecht: Männlich
  • Username: Dom
Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
« Antwort #2 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.

Offline Der Count

  • Experienced
  • ***
  • Beiträge: 356
  • Geschlecht: Männlich
  • Username: DerCount
Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
« Antwort #3 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?
Der Optimist denkt, dass wir in der bestmöglichen Welt leben.
Der Pessimist befürchtet, dass das stimmt.

Offline avakar

  • Adventurer
  • ****
  • Gelegenheitsspieler
  • Beiträge: 818
  • Geschlecht: Männlich
  • Username: avakar
Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
« Antwort #4 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.

Offline Schlechter SL

  • Experienced
  • ***
  • Beiträge: 198
  • Username: aus dem Untergrund
    • notes from the underground
Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
« Antwort #5 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.

Offline Imion

  • Legend
  • *******
  • GURPShead
  • Beiträge: 4.866
  • Username: Imion
Re: [Java] if-Bedingungen werden nicht eindeutig abgearbeitet
« Antwort #6 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.
If the internet has shown us anything... anything... it has shown us that there is no such thing as "too batshit crazy to operate a computer."

Everybody's a book of blood. Wherever we're opened, we're red.

Außerirdische sind nicht rechtsfähige, bewegliche, herrenlose Sachen. Wer sie findet und mitnimmt darf sie behalten.