当前位置:编程问答 > JAVA >

java异常编程题

问题:编写一个自定义的异常类,包含一个product( )方法(用于两个数相乘),如果product( )方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象,输出错误信息和乘积的值。另外要求product( )方法要用throws关键字声明该方法要抛出自定义异常和算术异常。
答案:import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/*编写一个自定义的异常类,包含一个product( )方法(用于两个数相乘),
如果product( )方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象
,输出错误信息和乘积的值。另外要求product( )方法要
用throws关键字声明该方法要抛出自定义异常和算术异常。
 */
public class ExceptionDemo {
	public static void main(String[] args) throws MyselfException ,IOException{
		System.out.println("请输入第一个数");
		String str1=(new BufferedReader(new InputStreamReader(System.in))).readLine();
		System.out.println("请输入第2个数");
		String str2=(new BufferedReader(new InputStreamReader(System.in))).readLine();
		System.out.println("你输入了"+Double.parseDouble(str1)+Double.parseDouble(str2)+"这两个数");
		product(Double.parseDouble(str1),Double.parseDouble(str2));
	}

	public static double product(double x, double y) throws MyselfException {// 异常声明

		if ((x < 0 && y > 0) || (x > 0 && y < 0))// 异常抛出
		/*
		 * 方法中的两个参数的乘积小于0,则抛出一个自定义异常类的对象
		 * ,输出错误信息和乘积的值,,,,,,,则必须有一个人乘数为负,且两个都不为0才会出负值
		 */
		{
			System.out.println("乘级=" + x * y);
			throw new MyselfException("出现两个参数的乘积小于0的异常");
		}// 输出错误信息
		else
			System.out.println("没有异常");
		System.out.println("乘级=" + x * y); // 乘积的值

		return x * y;
	}
}

class MyselfException extends Exception {
	public MyselfException() {
	}

	public MyselfException(String message, Throwable cause) {
		super(message, cause);
	}

	public MyselfException(String message) {
		super(message);
	}

	public MyselfException(Throwable cause) {
		super(cause);
	}
}

上一个:Java怎么实现文件拷贝
下一个:java2编写程序 编写一个程序,将1-500间能同时被2,5,7整除的数输出出来。 请帮我编写完整的程序出来好吗

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,