Hallo zusammen, ich versuche gerade ein Programm zu schreiben, um in einem großen Intervall (ca. 200 000 000) mit Zahlen zu rechnen, die den Wertebereich von int überschreiten. In meinem Programm habe ich versucht, das zu umgehen, indem ich mit long arbeite außer bei den Indizes des Arrays, trotzdem bekomme ich immer, wenn ich die Methode ausführen möchte, die Fehlermeldung Error: integer number too large.
Die Parameter a und b werden mit Werten belegt, die den integer Wertebereich überschreiten, allerdings wähle ich die Werte immer so, dass das Intervall bzw. die Differenz nicht höher als 200 000 000 wird. Kann mir jemand dabei helfen, das zu umgehen?
Java:
public static long[] methodendurchlauf( long a, long b, long c)
{
long differenz = (b-a)*2;
long[] arr = new long[(int)differenz];
long d = 0;
for (int i = 0; i < arr.length; i++)
{
if (methode1(a+d) > c)
{
arr[i] = methode1(a+d);
++i;
arr[i] = a+d;
++d;
}
}
return arr;
}
Die Parameter a und b werden mit Werten belegt, die den integer Wertebereich überschreiten, allerdings wähle ich die Werte immer so, dass das Intervall bzw. die Differenz nicht höher als 200 000 000 wird. Kann mir jemand dabei helfen, das zu umgehen?