(1)定义Demo类,Demo中包含定义一个求两个整数相除的成员方法div(int a,int b), 在方法div(int a,int b)上抛出一个Exception异常。 (2)定义一个可执行类,该类中调用Demo中的成员方法div(4,0)时对系统抛出的异常情况进行处理,输出"除零啦!"的提示信息后,按处理捕获到的异常对象进行时的toString()方法操作输出异常信息。最后,系统输出"System is over!"的提示信息。 输出: 除零啦! java.lang.ArithmeticException: / by zero System is over!
时间: 2024-02-27 11:53:13 浏览: 88
以下是代码实现:
Demo.java
```java
public class Demo {
public void div(int a, int b) throws Exception {
if (b == 0) {
throw new Exception("除数不能为零!");
}
System.out.println(a / b);
}
}
```
Main.java
```java
public class Main {
public static void main(String[] args) {
Demo demo = new Demo();
try {
demo.div(4, 0);
} catch (Exception e) {
System.out.println("除零啦!");
System.out.println(e.toString());
} finally {
System.out.println("System is over!");
}
}
}
```
输出结果:
```
除零啦!
java.lang.Exception: 除数不能为零!
System is over!
```
相关问题
先定义Demo类,Demo中包含定义一个求两个整数相除的成员方法div(int a,int b),然后定义一个可执行类,该类中调用Demo中的成员方法div(8,0)时捕获除数为0的异常情况,并按处理捕获到的异常对象进行时的三种常见方法操作输出异常信息。最后,系统输出”异常处理完毕,程序运行结束!”的提示信息。 输出: / by zero java.lang.ArithmeticException: / by zero java.lang.ArithmeticException: / by zero at Demo.div(Main.java:5) at Main.main(Main.java:15) 异常处理完毕,程序运行结束!
以下是实现该功能的代码:
```java
// 定义Demo类
class Demo {
public static int div(int a, int b) {
return a / b; // 可能会抛出 ArithmeticException 异常
}
}
// 定义可执行类
public class Main {
public static void main(String[] args) {
try {
int result = Demo.div(8, 0); // 调用 Demo 中的 div 方法
System.out.println("result: " + result);
} catch (ArithmeticException e) { // 捕获 ArithmeticException 异常
System.out.println("/ by zero");
System.out.println(e.toString());
e.printStackTrace();
} finally {
System.out.println("异常处理完毕,程序运行结束!");
}
}
}
```
程序的输出结果为:
```
/ by zero
java.lang.ArithmeticException: / by zero
at Demo.div(Main.java:5)
at Main.main(Main.java:15)
异常处理完毕,程序运行结束!
```
定义内联函数,判断一个字符是否为数字字符 设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数。两个实数求余定义为实数 五入取整后相除的余数。
内联函数是一种可以在代码中直接展开的函数,它可以减少函数调用的开销,提高程序的执行效率。判断一个字符是否为数字字符的内联函数可以这样定义:
```c++
inline bool isDigit(char c) {
return c >= '0' && c <= '9';
}
```
设计两个重载函数,分别求两个整数相除的余数和两个实数相除的余数,可以这样实现:
```c++
inline int mod(int a, int b) {
return a % b;
}
inline double mod(double a, double b) {
int c = (int)(a / b + 0.5);
return a - b * c;
}
```
第一个函数求两个整数相除的余数,直接使用 C++ 内置的求余运算符即可。第二个函数求两个实数相除的余数,先将两个实数相除并将结果四舍五入取整,然后再将结果乘以除数,最后用被除数减去这个积即可得到余数。注意在将实数四舍五入取整时,应该先加上 0.5 再进行强制类型转换。
阅读全文