tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von SilentWarrior
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
370
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jmh jmh ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    14
    Hallo ich habe folgendes Problem,

    wie ihr im folgenden Programtext sehen könnt benutze ich mehre if Bedingungen sowie eine while Anweisung. Diese funktioniern auch wunderbar.
    Jedoch soll das Programm sobald es einen Wert in der ArrrayList größer gleich eins erreicht alle dann folgenden Werte gleich eins setzen.
    Dies funktioniert jedoch nicht, ich glaube das dass etwas mit dem Ergebnis zutun hat. Da Java als Ergebnis NaN „not a number“ ausgibt.
    Ich habe bereits gesucht aber leider keine Erklärungen für mein Problem gefunden, da ich ja mit der if Bedingung keine NaN Ergebnisse erhalten dürfte.
    Vom Ergebnis macht es keinen Unterschied ob die Schleife ein oder auskommentiert ist.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    if (choice1.getSelectedIndex()>=3) {
                double n2 = Double.parseDouble(jTextFieldn21.getText());
                while (durchlaufnummer<=DimesionMyArrayList1-1) {
                    if (ArrayListCure1.get(durchlaufnummer-1)>=1) {             [COLOR="Navy"]//Um diese if-else Anweisung handelt es sich[/COLOR]
                        if (jLabelDif1.getText().equals("Dif An")) {
                            dif = (2/(1+Math.exp((ArrayListCure1.get(durchlaufnummer-1)-cureMax)/b)))-1;
                        } else {
                            dif =1;
                        }
                        double temp = myArrayListTemp1.get(durchlaufnummer)+273.15; // in Kelvin
                        double term1 = ...;
                        double term2 = ...;
                        term2 = ..;
                        dcdt=(term1+term2)*dif ;
                        ArrayListCure1.add(durchlaufnummer,(ArrayListCure1.get(durchlaufnummer-1)+
                                dcdt*(myArrayListTime1.get(durchlaufnummer)-
                                        myArrayListTime1.get(durchlaufnummer-1))));
                    } else {                        [COLOR="Navy"]//Um diese if-else Anweisung handelt es sich[/COLOR]
                        ArrayListCure1.add(durchlaufnummer, 1.0);
                    }
                    durchlaufnummer++;
                }   
            }

    Auszug aus dem Ergebnisfile
    16950 121.62 0.9981232405784981
    16960 121.61 0.9985824186498932
    16970 121.62 0.9989932707533176
    16980 121.61 0.9993516107755691
    16990 121.61 0.9996522706925203
    17000 121.61 0.9998867015062455
    17010 121.61 1.0000364442456746
    17020 121.62 NaN
    17030 121.61 NaN


    Vielen Dank für eure Hilfe…
     

  2. #2
    Avatar von matdacat
    matdacat matdacat ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    672
    Bisschen schwierig zu erraten, welche Zahlen Du da auf der Konsole ausgibst...
     

  3. #3
    Avatar von SilentWarrior
    SilentWarrior SilentWarrior ist offline Mitglied Diamant
    Registriert seit
    Dec 2001
    Beiträge
    3.078
    Zitat Zitat von matdacat Beitrag anzeigen
    Bisschen schwierig zu erraten, welche Zahlen Du da auf der Konsole ausgibst...
    Zudem: Beim Debuggen ist es immer hilfreich, soviel Code wie möglich zu entfernen ohne dabei das Problem zu entfernen. Wenn du dann nämlich nur noch ganz wenig Code hast, springt dir der Fehler möglicherweise ins Auge, auf alle Fälle aber ist er leichter zu finden. Und irgendwie sieht dein Code so aus, als ob man da noch ziemlich viel unnötiges entfernen könnte …
    jmh bedankt sich. 

  4. #4
    jmh jmh ist offline Mitglied
    Registriert seit
    Nov 2009
    Beiträge
    14
    Danke,

    bin gerade selber auf den Fehler gestoßen. Der Fehler hat sich der choice1.getSelectedIndex() Anweisung versteckt, da ich mit der Nummerierung durcheinandergekommen bin.
     

Ähnliche Themen

  1. if bedingung ... end sub
    Von dr_pepper im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 24.08.08, 16:44
  2. XSL Bedingung
    Von SpassCola im Forum XML Technologien
    Antworten: 2
    Letzter Beitrag: 26.05.05, 10:30
  3. Where != Bedingung****?
    Von Wolfsbein im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 18.02.05, 19:16
  4. Min() als Bedingung
    Von StefanLausL im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 20.01.05, 10:51
  5. WHERE Bedingung
    Von Arndtinho im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 20.07.04, 08:41