java 除数为0,但计算出结果 求解答

public class Daoshu{

double a[]=new double[10];

Daoshu(){
for (int i=0;i<a.length;i++){
a[i]=i;
}
}

void getDaoshu(int i){
try{
System.out.println("a[" + i + "]的倒数是:" + 1/a[i]);
}
catch(ArithmeticException e){
System.out.println("异常:" + e);
}
finally{
System.out.println("运算结束");
}
}
}

public class Demo{

public static void main(String args[]){
Daoshu as= new Daoshu();
as.getDaoshu(0);

}

}

输出为:
a[0]的倒数是:Infinity
运算结束

我看例子上面显示的是 /by zero 怎么我做出来是Infinity
谢谢大家,求解

infinity的意思是无限大。你除一个double的0结果是无限大的,貌似微积分数学里有这个说法?如果你把double a[]=new double[10]; 改成int类型数组,就会出现异常追问

= =是这样的 我一开始用的int
结果算出来都是0,因为int没小数点么,我就改成double了

但是这样计算出来都是0也不对呀= =

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-22
JAVA里面对于int类型做除法,除数为0不报excepton得,很独特的,所以必须自己手动hanldle这种情况。
第2个回答  2011-04-22
Infinity 无穷大的意思
如果a是整型的数组 则会抛出/by zero的异常
int f= 3;
try{
System.out.println(f/0.0); //正常执行
}catch(Exception e){
System.out.println(e.getMessage());
}
try{
System.out.println(f/0); //出现异常
}catch(Exception e){
System.out.println(e.getMessage());打印出异常消息
}
第3个回答  2011-04-22
你应该查一下Infinity的意思,然后你就知道了

除数为0是什么意思,怎么理解?
在数学中,除数为0是没有定义的,也就是说,任何数除以0都是无意义的。这是因为除法运算本质上是乘法的逆运算。例如,假设我们有一个等式5 =2 *2.5,这个等式告诉我们2乘以2.5等于5。如果我们将这个等式转化为除法,那么就是5除以2等于2.5。然而,如果除数为0,那么就没有任何数可以使得0乘以...

求换算一个公式: x÷y=z
或者是你用公式 =IF(B1=0,"除数为0",A1\/B1)

小学数学除数为什么不能为0除数为什么不能为0
1、除数不能是“0”,也就是说“0”不能做除数.这是“0”与其他数不同的独特之处.为什么呢? 要弄清这个问题,我们还得从除法的意义上想:已知两个乘数的积和其中的一个乘数。2、求另一个乘数的运算用除法.可见这个除数就相当于乘法里的一个乘数.根据“0”乘以任何数都得0的这一规定,那...

除法中的除数可以是0吗?
除法中的除数不可以是0,否则没有意义!

什么是除数?什么是被除数?
1、零除法:除数不能为零。当除数为零时,除法运算是没有意义的,因此需要避免出现除数为零的情况。2、除法的结果可能是无限循环小数:在某些情况下,除法的结果可能是无限循环小数。例如,1除以3的结果是0.3333...,其中小数部分会无限循环下去。在实际计算中,可以使用近似值或者保留一定位数的小数来...

除数不能为0吗?
除法中是除数不能为0。在除法算式中,除号后面的数叫做除数。若ab=c(b≠0),用积数c和因数b来求另一个因数a的运算就是除法,写作c÷b,读作c除以b(或b除c)。其中,c叫做被除数,b叫做除数,运算的结果a叫做商。

已知被除数,除数需要满足什么样的条件,商的中间或末尾才能有0?
解答 解:(1)要使算式762÷□的商中间有0,商是三位数,那么□≤7;被除数百位上的数字是7,它的因数只有1或5,所以□只能是7,也就是除数是7;(2)要使算式762÷□的商末尾是0,那么被除数前两位数76÷□,没有余数,76的因数有1、2、4、19、38、76;又因为2÷□有余数,那么□里面...

C语言,实现一个除法,能计算到小数点后十万位
\/*ret为输出的结果,必须保证空间足够*\/ \/*devidend被除数,divider除数*\/ void SuperDivide(char* ret, int devidend, int divider){ int bPointShowed = 0; \/*用来表示是否出现过小数点了*\/ \/*使用的数组下标*\/ int i = 0;\/*取余数用的*\/ int remainder = devidend;\/*用这个循环计算*...

6930÷21把除数看作2020去试商比较简便,商是三三位数,商是330330.
商是三三位数,商是330330.答案 解析 把21看成和它接近的20进行试商,计算出6930÷21的商即可求解.解答:解:6930÷21把除数看作 20去试商比较简便. 33021 6930 63 63 63 0 ;商是330,是三位数.故答案为:20,三,330.点评:本题考查了除数是两位数的计算方法,注意被除数末尾的0.

除法中是除数不能为0 还是被除数不能为0
除数不能为0。0不能做除数(分母、后项)的原因:1:如果除数(分母、后项)是0,被除数是非零正数时,商不存在。这是由于任何数乘0都不会得出非零正数。但一些领域定义为无穷大(∞),因为∞×0被认为能得到非零正数。2:如果除数(分母、后项)是0,被除数也等于0,也不行,因为任何数乘0...

相似回答