模数返回除以零异常
Posted
技术标签:
【中文标题】模数返回除以零异常【英文标题】:Modulus returning divide by zero exception 【发布时间】:2017-08-03 05:21:24 【问题描述】:下面的代码在第 10 行抛出一个除以零的异常。
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^40 时会出现整数溢出。 所以将数据类型更改为 long 可以解决问题,对吧?? 您的do
有while
吗?
【参考方案1】:
当你在玩大数字时,你一定会得到 Integer Overflow
【讨论】:
【参考方案2】:你需要在try-catch块中做代码。所以catch块会捕获异常,你可以随意处理。
【讨论】:
以上是关于模数返回除以零异常的主要内容,如果未能解决你的问题,请参考以下文章
为啥整数除以零 1/0 会出错但浮点数 1/0.0 返回“Inf”?