2017-03-13 21 views
-8

Der folgende Code löst eine Ausnahme von Division durch Null in der zehnten Zeile aus.Modul, das Division durch Null zurückgibt Ausnahme

int s2=10,mn=20; 
n = 4*s2; 
i = n-1; 
j = 1; 
while(i!=0){ 
    j*=2; 
    i--; 
} 
Random rand=new Random(); 
r = Math.abs(rand.nextInt(4*mn)) % j; // this line returns divide by zero exception 
+2

Gut Spek bekommen müssen. Was ist deine Frage? –

+0

Ich möchte wissen, warum, für nur diesen speziellen Fall.Alle anderen Fälle funktionieren einfach –

+1

Ich denke, es kommt vor, weil Sie einen Integer-Überlauf erhalten, wenn Sie 2^40 berechnen. – GAlexMES

Antwort

0

Wie Sie mit den großen Zahlen spielen Sie Integer Überlauf