java 怎么判断除数是否为零
publicintchu(intx,inty){intz=4/2;if(y!=0)returnz;elseSystem.out.println("除数为零");}为什么总...
public int chu(int x,int y){
int z=4/2;
if(y!=0)return z;
else System.out.println("除数为零");
}
为什么总是编译出错啊? 展开
int z=4/2;
if(y!=0)return z;
else System.out.println("除数为零");
}
为什么总是编译出错啊? 展开
6个回答
展开全部
除数为0了就不该有返回值了,应该手动抛出异常!
public class Manager{
public double div(double x,double y)
{
try{
if(y==0)
{
throw new ArithmeticException();
}
else
return x/y;
}catch(ArithmeticException ae)
{
ae.printStackTrace();
System.out.println("除数为0");
}
return x/y;
}
public static void main(String ar[])
{
Manager m=new Manager();
System.out.println(m.div(10, 0));
}
}
运行结果:
展开全部
bd58jiang 说的是对的,你可以这么改else{ System.out.println("除数为零"); return 0;}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-11-27 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
java中,如果int/int中除数为0,会抛出异常java.lang.ArithmeticException: / by zero,这个不容易理解!但如果是浮点型,就不会报异常了!
总结如下:
0.0/0.0 得到的结果是NaN(not an number的简称,即"不是数字")。通过Double.isNaN(double x)来判断。
正数/0.0 得到的结果是正无穷大,即Infenity
负数/0.0 得到的结果是负无穷大,即Infenity。通过Double.isInfinite(double x)来判断。
public int chu(int x,int y)
{
int z = 0;
if (y != 0)
{
return z=x/y;
}
else
{
System.out.println("除数为0");
return z; //由于方法返回值类型为 int ,因此每一个分支都必须有返回值。编译器没有提示您吗?
}
//或者 return z 不写在上面,写在此处也可。楼主可以尝试一下。建议您注意编程的规范。
}
总结如下:
0.0/0.0 得到的结果是NaN(not an number的简称,即"不是数字")。通过Double.isNaN(double x)来判断。
正数/0.0 得到的结果是正无穷大,即Infenity
负数/0.0 得到的结果是负无穷大,即Infenity。通过Double.isInfinite(double x)来判断。
public int chu(int x,int y)
{
int z = 0;
if (y != 0)
{
return z=x/y;
}
else
{
System.out.println("除数为0");
return z; //由于方法返回值类型为 int ,因此每一个分支都必须有返回值。编译器没有提示您吗?
}
//或者 return z 不写在上面,写在此处也可。楼主可以尝试一下。建议您注意编程的规范。
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的else里面没有返回值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询