最近在做项目的时候,页面上居然出现了一些特殊的字符,究其原因,原来0/0也有不报
java.lang.ArithmeticException: / by zero的时候
对于0是浮点数的情况:
System.out.println(-1/0.0);//-Infinity负无穷大
System.out.println(1/0.0);//Infinity正无穷大
System.out.println(0/0.0);//NaN
/**
商品javaBean
* @author Start
*/
public class Product {
private double amount;// 销售额
private double qty;// 销售数量
private double avg_amount;// 平均销售额
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
public double getQty() {
return qty;
}
public void setQty(double qty) {
this.qty = qty;
}
public double getAvg_amount() {
return avg_amount;
}
public void setAvg_amount(double avgAmount) {
avg_amount = avgAmount;
}
}
public class ProductService {
public static void main(String[] args) {
Product product=new Product();
product.setAmount(10000);
/**
* the result is Infinity
*/
System.out.println(product.getAmount()/product.getQty());
/**
* this result is NaN
*/
product.setAmount(0);
System.out.println(product.getAmount()/product.getQty());
}
}
分享到:
相关推荐
2. **Exception in thread "main" java.lang.ArithmeticException: / by zero**:这表示你在代码中执行了一个除以零的操作。要避免这个异常,需要在进行除法运算之前检查除数是否为零。 3. **...
Exception in thread "main" java.lang.ArithmeticException: / by zero at io.renren.modules.sys.controller.SysUserController.main(SysUserController.java:154) ``` 在上面的代码中,当程序执行到整数除以...
`会创建一个`ArithmeticException`对象并抛出,表示数学运算中的错误。 2. **异常处理的基本结构** - Java异常处理使用了所谓的`try-catch`块。在`try`块中,我们放置可能会抛出异常的代码,如果在`try`块内抛出了...
2. `ArithmeticException`:在进行非法数学运算时抛出,比如除以零。 3. `FileNotFoundException`:当尝试打开不存在的文件时抛出。 4. `IOException`:在输入/输出操作中出现错误时抛出,这是一个广义的异常,通常...
Exception in thread "main" java.lang.ArithmeticException: / by zero at ExceptionDemo01.main(ExceptionDemo01.java:6) ``` ##### 解决方法: 1. **除数检查**:在进行除法运算前,检查除数是否为零。 通过上述...
当尝试执行除以零的操作时,Java会抛出`ArithmeticException`。这是通过使用异常处理机制来确保程序不会因这种错误而崩溃。例如: ```java try { int result = 10 / 0; // 这将引发ArithmeticException } catch ...
2. **异常的抛出**:当一个异常发生时,Java会创建一个异常对象并"抛出"(throw)它。这可以通过使用`throw`关键字或由系统自动完成,比如在遇到除以零这样的错误时。 3. **异常的捕获**:为了处理异常,我们需要...
// 这里会抛出ArithmeticException: / by zero } } ``` 在编译时,Java编译器会检查是否所有可能抛出异常的代码都得到了适当的处理。如果没有,编译器会报错,提示需要添加异常处理代码。 总的来说,Java的异常...
Exception in thread "main" java.lang.ArithmeticException: / by zero at Agesr.main(ExcptionTest.java:4) ``` #### 错误与异常的区别 错误通常指更为严重的问题,如内存溢出等,这些问题往往是不可预测且难以...
而在示例代码2中,尝试执行除零操作会导致`ArithmeticException`,`e.getMessage()`会返回"by zero",这表明发生了除以零的错误。 相反,`e.toString()`方法返回的是异常的完整描述,包括异常的类型和详细的异常...
例如,在进行除法运算时,如果不小心除以零,Java会抛出`ArithmeticException`。通过异常处理,我们可以优雅地处理这种情况,而不是让程序崩溃: ```java try { int result = 10 / divisor; } catch (Arithmetic...
def "除以零抛出ArithmeticException"() { when: "尝试除以零" int result = 5 / zero then: "应该抛出ArithmeticException" thrown ArithmeticException } ``` 5. **断言库扩展** Spock允许你自定义或...