Archiv verlassen und diese Seite im Standarddesign anzeigen : JAVA Frage: Primzahlen ausrechnen
Osmoses
2014-07-09, 22:10:09
Eines der Nebenprodukte meiner "Münzwurf-Spielerei" (https://www.forum-3dcenter.org/vbulletin/showthread.php?t=554939) ist ein Primzahlen-Rechner.
Hier war der Quellcode.
Der maximale Wert des Bereichs sollte mit long als 64 bit 9223372036854775807 sein - doch ich bekomme dabei jedes Mal
"error: integer number too large: 9223372036854775807" und kann nur 2147483647 (was int 32 bit wäre) maximal verwenden.
:confused:
64 bit System und 64 bit JDK.
Monger
2014-07-09, 22:19:54
Ich tippe einfach mal darauf, dass einer der Operatoren nur für 32 Bit ist, und damit die Zahlen per Autoboxing reinkommen.
Kannst du die genaue Zeile des Fehlers dazu geben, bzw. am besten gleich mal den dazu passenden Stacktrace?
Osmoses
2014-07-09, 22:26:41
Ich tippe einfach mal darauf, dass einer der Operatoren nur für 32 Bit ist, und damit die Zahlen per Autoboxing reinkommen.
Kannst du die genaue Zeile des Fehlers dazu geben, bzw. am besten gleich mal den dazu passenden Stacktrace?
Ja - Bitte sehr!
PrimWriter.java:14: error: integer number too large: 9223372036854775807
xe = 9223372036854775807;
^
1 error
Godmode
2014-07-09, 22:57:32
Ich würde den Variablen übrigens sprechendere Namen geben, nur so als Tipp.
EPIC_FAIL
2014-07-09, 22:58:22
Wann kommt der Fehler? Bei der Deklaration inklusive Zuweisung mit einem Startwert? Wenn ja, dann musst du dort lediglich ein L hinter das Literal stellen.
z.B. long xa = 3243242L
Das sollte aber eigentlich die IDE schon anzeigen.
Osmoses
2014-07-09, 23:06:01
Ich würde den Variablen übrigens sprechendere Namen geben, nur so als Tipp.
Danke :)
Wann kommt der Fehler? Bei der Deklaration inklusive Zuweisung mit einem Startwert? Wenn ja, dann musst du dort lediglich ein L hinter das Literal stellen.
z.B. long xa = 3243242L
Das sollte aber eigentlich die IDE schon anzeigen.
Ja, bei der Zuweisung. Das fehlende L war es! Dankeschön! :up:
IDE - Ich schreib alles immer in Notepad ++
Sephiroth
2014-07-09, 23:08:47
Wann kommt der Fehler? Bei der Deklaration inklusive Zuweisung mit einem Startwert? Wenn ja, dann musst du dort lediglich ein L hinter das Literal stellen.
z.B. long xa = 3243242L
Das sollte aber eigentlich die IDE schon anzeigen.
oder - in dem Falle - gleich
xe = Long.MAX_VALUE (http://docs.oracle.com/javase/7/docs/api/java/lang/Long.html#MAX_VALUE);
vBulletin®, Copyright ©2000-2025, Jelsoft Enterprises Ltd.