为什么将零除以不可恢复的问题?

Ari*_*sen 1 java processing divide-by-zero

为什么java不能优雅地使用除零返回某个值而是必须抛出异常?

我得到的ArrayIndexOutOfBoundsException:0 这是因为damageTaken实际上是一个存储许多不同"损害"的值数组.

在java中我正在尝试创建一个进度条.我们的例子:在赛车游戏中,通过将高度值设置为游戏前允许的最大伤害的百分比,可以造成伤害.

在该计划的开始 damageTaken = 0;

(damageTaken / maximumDamage)
Run Code Online (Sandbox Code Playgroud)

将给出0到1之间的数字.

然后我将其乘以进度条的高度,以创建适当高度的填充条.

程序崩溃了.我希望进度条高度为零!

Tho*_*s O 13

你没有除以零,你将零除以某种东西.

完全允许将两半归零.答案是零.假设你没有苹果.你在Alice和Bob之间分割你的零苹果.爱丽丝和鲍勃现在都没有苹果.

但是,你不能除以零.假设你有两个苹果.现在,你想把这些苹果给零人.每个人得到多少苹果?答案是未定义的,因此除以零是不可能的.

  • 更简单的是,假设如果存在一个 x 使得 0*x = 1,那么我们有一个直接矛盾,因为 0 = 0*x = 1。 (2认同)

abe*_*nky 6

(damageTaken / maximumDamage)
Run Code Online (Sandbox Code Playgroud)

只有在maximumDamage为零时,才会为零提供除零.

如果damageTaken为零,则没有问题.

  • 祝贺成为唯一了解分子与分母之间差异的回答者. (3认同)