(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 07:53:13 浏览: 18
以下是代码实现:
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代码实现:
```
class Demo {
public void div(int a, int b) {
try {
int result = a / b;
System.out.println("结果为:" + result);
} catch (ArithmeticException e) {
throw e;
}
}
}
public class Main {
public static void main(String[] args) {
Demo demo = new Demo();
try {
demo.div(8, 0);
} catch (ArithmeticException e) {
System.out.println("/ by zero");
System.out.println(e);
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
System.out.println("异常处理完毕,程序运行结束!");
}
}
}
```
在Demo类中定义了一个div方法用于求两个整数的商,如果除数为0,则抛出ArithmeticException异常。在主函数中,创建Demo对象并调用div方法,使用try-catch语句捕获ArithmeticException异常,然后按照题目要求分别使用三种方法输出异常信息。最后,在finally语句块中输出“异常处理完毕,程序运行结束!”的提示信息。
定义一个函数,求两个整数的最大公约数
可以使用辗转相除法来求两个整数的最大公约数,具体实现如下:
int gcd(int a, int b) {
if (b == ) {
return a;
}
return gcd(b, a % b);
}
其中,a 和 b 分别表示两个整数,如果 b 等于 ,则 a 就是最大公约数,否则递归调用 gcd 函数,将 b 和 a%b 作为参数传入。