Java异常处理:/zeo
我使用的是JavaJDK1.8版本。 当我将任何数字除以零(0)时 它显示消息“Infinity”。而它应该在运行时显示算术异常:/0。原因可能是什么Java异常处理:/zeo,java,Java,我使用的是JavaJDK1.8版本。 当我将任何数字除以零(0)时 它显示消息“Infinity”。而它应该在运行时显示算术异常:/0。原因可能是什么 class division { public static void main(String args[]) { float a=10,b=0; System.out.println(a/b); } } 不,它不应该发出异常 Java坚持浮点的IEEE754标准。这表
class division
{
public static void main(String args[])
{
float a=10,b=0;
System.out.println(a/b);
}
}
不,它不应该发出异常 Java坚持浮点的IEEE754标准。这表明,如果分子也为零,则除以浮点零得到NaN;如果分子为正,则得到+无穷;如果分子为负,则得到-无穷 x/0可以是:
- 如果x=0,则未知,因为0/0=p可以很容易地解为0=0*p,这对于任何p都是正确的
- 无效,因为x/0=p可以很容易地解为p*0=x,这是因为x!=0是不真实和矛盾的
- 无限,因为如果我们有一个数字y无限接近0,四舍五入到0,那么x/0~x/y=+-无限,这取决于x和y的符号
是的可能重复,正如我看到的,当我将变量声明为int时,会出现arithmatiception,但在float或double的情况下,它会显示“无穷大”。为什么?我需要更简单的答案。已经有六个答案了。阅读后还有什么不清楚的地方?尽管从数学上讲,log(0)是一个比非零x的x/0更邪恶的无穷大。@Bathsheba,假设0是一个无穷小的正实数,那么结果将是负无穷大。如果它正好为0或负0,则它位于域之外。当然,我假设对数的底是一个大于1的实数。0到1之间的基数将反转图片,更不用说负基数了。所以,它是邪恶的,但我想知道你指的是这个值的哪个邪恶属性?对数(0)的无穷大的类型或顺序给数学家带来了崩溃。@Bathsheba,这是真的。有趣的话题:)