编程训练2: (1)定义Tran类,在该类中创建一个带有int型参数的方法avg(用于求两个整数的平均数),同时具有检查参数是否小于0或大于100功能,如果不符合时,抛出自定义异常MyException。 (2)在main方法中,通过try-catch捕获异常。 (3)自定义MyException类,处理异常。 当发生异常时,输出结果如附件下图2所示。
时间: 2023-06-17 15:03:50 浏览: 251
下面是代码实现:
```java
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
class Tran {
public int avg(int a, int b) throws MyException {
if (a < 0 || a > 100 || b < 0 || b > 100) {
throw new MyException("参数必须在0-100之间");
}
return (a + b) / 2;
}
}
public class Main {
public static void main(String[] args) {
Tran t = new Tran();
try {
int result = t.avg(-1, 101);
System.out.println(result);
} catch (MyException e) {
System.out.println(e.getMessage());
}
}
}
```
输出结果为:
```
参数必须在0-100之间
```
相关问题
编写Java程序:定义Tran类,在该类中创建一个带有int型参数的方法avg(用于求两个整数的平均数),同时具有检查参数是否小于0或大于100功能,如果不符合时,抛出自定义异常MyException。 (2)在main方法中,通过try-catch捕获异常。 (3)自定义MyException类,处理异常。
下面是实现Tran类的Java代码:
```java
public class Tran {
public double avg(int a, int b) throws MyException {
if (a < 0 || a > 100 || b < 0 || b > 100) {
throw new MyException("参数必须在0和100之间");
}
return (a + b) / 2.0;
}
}
```
在上面的代码中,我们定义了一个Tran类,并在其中创建了一个方法avg来计算两个整数的平均数。该方法抛出自定义异常MyException,如果输入的参数不在0和100之间。
下面是MyException类的Java代码:
```java
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
```
在上面的代码中,我们定义了一个MyException类,继承自Exception类。该类用于处理Tran类中抛出的异常。
最后,我们在main方法中通过try-catch捕获异常:
```java
public static void main(String[] args) {
Tran tran = new Tran();
try {
double result = tran.avg(101, 50);
System.out.println("平均数为:" + result);
} catch (MyException e) {
System.out.println(e.getMessage());
}
}
```
在上面的代码中,我们创建了一个Tran对象,并调用avg方法来计算两个整数的平均数。由于输入的第一个参数大于100,因此会抛出MyException异常。我们通过try-catch语句捕获该异常,并输出异常信息。
完整的Java代码如下:
```java
public class Tran {
public double avg(int a, int b) throws MyException {
if (a < 0 || a > 100 || b < 0 || b > 100) {
throw new MyException("参数必须在0和100之间");
}
return (a + b) / 2.0;
}
public static void main(String[] args) {
Tran tran = new Tran();
try {
double result = tran.avg(101, 50);
System.out.println("平均数为:" + result);
} catch (MyException e) {
System.out.println(e.getMessage());
}
}
}
class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
```
定义Tran类,在该类中创建一个带有int型参数的方法avg(用于求两个整数的平均数),同时具有检查参数是否小于0或大于100功能,如果不符合时,抛出自定义异常MyException
以下是 Tran 类的代码实现:
```java
public class Tran {
public double avg(int a, int b) throws MyException {
if (a < 0 || a > 100 || b < 0 || b > 100) {
throw new MyException("参数必须在0到100之间");
}
return (a + b) / 2.0;
}
}
```
其中,avg() 方法接收两个 int 类型的参数 a 和 b,返回它们的平均数。在方法中,首先进行参数的合法性检查,若不符合要求,则抛出自定义异常 MyException。MyException 可以是如下的定义:
```java
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
```
这里的 MyException 继承自 Exception 类,具有一个带有字符串参数的构造函数,用于传递异常信息。
阅读全文