Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Warum Exeption? » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 2 Beiträge
Tobias

Kann es sein, dass die Exception nur kommt, wenn keine Argumente (also zwei Doublezahlen) dem Programm übergeben werden?

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
   public static void main(String[] args) {
            
            if (args.length < 2) {
                System.out.println("a und b angeben.");
                return;
            }
            
            try {
                double a = Double.parseDouble(args[0]);
                double b = Double.parseDouble(args[1]);
                System.out.println(integrate(a, b, 1000));
                
            } catch (NumberFormatException e) {
                System.out.println("Eingegebene Parameter sind keine Double-Werte.");
            }
   }
mausi Warum Exeption?

Hallo!

Ich haben diesen Code zur Trapezregel. Nun bekomme ich eine Expetion und ich weiß nich warum?

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0


public class TrapezRegel {


static double f(double x) {
return Math.exp(- x * x / 2) / Math.sqrt(2 * Math.PI);
}


static double integrate(double a, double b, int N) {
double h = (b - a) / N; // step size
double sum = 0.5 * (f(a) + f(b)); // area
for (int i = 1; i < N; i++) {
double x = a + h * i;
sum = sum + f(x);
}

return sum * h;
}



public static void main(String[] args) {
double a = Double.parseDouble(args[0]);
double b = Double.parseDouble(args[1]);
System.out.println(integrate(a, b, 1000));
}

}

Ich habe den code so bekommen und er sollte laufen. Ich wollte ihn bunuzten um es für andere Funktionen zu testen. Mit meinem Wissen komme ich aber nicht drauf warum nun die Exeption geschmissen wird. Nun weiß ich nich wie ich das korrigieren kann...

Kann mir hier jemand helfen bitte?