Hallo Java-Programmierer,
ich bin ein totaler Anfänger in Java und stehe jetzt vor einem Problem:
Ich habe ein Programm geschrieben, welches Primzahlen bis zur vorgegebenen Höhe mit
dem Sieb des Erathosthenes berechnet. Dabei wird mit einem eindimensionalen Array gearbeitet, in dem die Zahlen gestrichen werden. Wenn ich aber Primzahlen höher als 46348 ausrechnen möchte, kommt immer diese Fehlermeldung:
Unter 46347 funktioniert aber alles. Wer den Fehler selber sehen möchte, kann sich hier das JAR-
Archiv herunterladen: http://intech.in.funpic.de/java/primzahlen/primzahlen.zip
Parameter:
-w Primzahlen in Textdatei schreiben
-m Höchste Primzahl
-s Textdatei
-s Primzahlen anzeigen
-m Höchste Primzahl
-c Prüfen, ob Zahl Prim
-m Zu prüfende Zahl
Neben dem Java-Archiv ist der Quellcode mit im ZIP.
Ich dachte schon, dass die Integerbegrenzung mir in die Quere kommt, und habe versucht, einen long als Array-Index festzulegen. Da meckert dann aber der Compiler, int ist benötigt und long gefunden. Ich hoffe ihr könnt mir weiterhelfen,
MfG Jan
ich bin ein totaler Anfänger in Java und stehe jetzt vor einem Problem:
Ich habe ein Programm geschrieben, welches Primzahlen bis zur vorgegebenen Höhe mit
dem Sieb des Erathosthenes berechnet. Dabei wird mit einem eindimensionalen Array gearbeitet, in dem die Zahlen gestrichen werden. Wenn ich aber Primzahlen höher als 46348 ausrechnen möchte, kommt immer diese Fehlermeldung:
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -2146737495
Archiv herunterladen: http://intech.in.funpic.de/java/primzahlen/primzahlen.zip
Parameter:
-w Primzahlen in Textdatei schreiben
-m Höchste Primzahl
-s Textdatei
-s Primzahlen anzeigen
-m Höchste Primzahl
-c Prüfen, ob Zahl Prim
-m Zu prüfende Zahl
Neben dem Java-Archiv ist der Quellcode mit im ZIP.
Ich dachte schon, dass die Integerbegrenzung mir in die Quere kommt, und habe versucht, einen long als Array-Index festzulegen. Da meckert dann aber der Compiler, int ist benötigt und long gefunden. Ich hoffe ihr könnt mir weiterhelfen,
MfG Jan