public class Main { static int avg(int a,int b) throws MyException{ if(a<0||b<0) throw new MyException("负值不可"); else if(a>100||b>100) throw new MyException("数值过大"); return(a+b)/2; } public static void main (String[] args){ try{ System.out.println(avg(-10,20)); }catch(MyException e){ System.out.println("参数不能为负数"); } } } class MyException extends Exception{ MyException(String ErrorMessage){ super(ErrorMessage); } }
时间: 2024-02-14 08:20:36 浏览: 86
这段代码实现了一个求两个整数平均值的方法avg,并对传入的参数进行异常处理。如果传入的参数a或b为负数,或者a或b的值超过100,则抛出自定义的异常MyException。
在main方法中,调用avg方法并传入一个负数和一个正数作为参数。由于第一个参数为负数,因此会抛出MyException异常,在catch块中捕获该异常并输出提示信息。
需要注意的是,由于avg方法声明了可能抛出MyException异常,因此在调用该方法时必须使用try-catch语句进行异常处理,否则程序将无法编译通过。
相关问题
class MyException extends Exception { public MyException(String errorMessage) { super(errorMessage); }}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 tran = new Tran(); try { int result = tran.avg(-1, 101); System.out.println(result); } catch (MyException e) { System.out.println("捕获到自定义异常:" + e.getMessage()); } }}
这段代码定义了一个自定义异常类 MyException,包含一个带有错误信息参数的构造函数。另外还定义了一个 Tran 类,其中的 avg 方法会抛出 MyException 异常,当输入参数不在 0-100 之间时会抛出该异常。最后在主方法中调用 avg 方法并对其进行异常处理,若捕获到 MyException 异常则输出错误信息。
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 的类,其中包含了一个名为 avg 的方法。该方法接受两个 int 类型的参数 a 和 b,并返回它们的平均数(以 double 类型返回)。如果参数不在 0 到 100 的范围内,则会抛出一个自定义异常类 MyException 的实例,并输出该异常的消息。
在 main 方法中,先创建了一个 Tran 类的实例 tran。然后尝试调用 avg 方法,并传入参数 101 和 50。由于 101 不在 0 到 100 的范围内,avg 方法会抛出一个 MyException 异常,并输出异常的消息。在 catch 语句块中,捕获该异常并输出其消息。
阅读全文