java自定义异常例子(三角形)

java自定义异常例子(关于三角形)

实现:1、输入三个数字,输出三角形的周长和面积;

2、如果输入的三条边不能构成三角形,报出自定义的错误提示信息;

3、输入 0 、负数 等错误,都显示文字错误。

包名:com.my


新建个 自定义异常类:

package com.my;

class SanjiaoException extends Exception{     //自定义异常类
	String message;                           //定义String类型变量
	public SanjiaoException(String ErrorMessage){    //父类方法
		message=ErrorMessage;
	}
	public String gerMessage(){              //覆盖getMessage()方法
		return message;
	}

}


新建个 方法类:
package com.my;

class Cal {             //创建类
	static void san(double a,double b,double c) throws SanjiaoException{   //定义方法抛出异常

		if(a0||b0||c0){                    //判断参数是否为负
			throw new SanjiaoException("边长不能为负");
		}else if(a==0||b==0||c==0){           //判断参数是否为零
			throw new SanjiaoException("边长不能为零");  //异常信息
		}else if(a+bca+cbb+ca){        //判断参数是否为可以构成三角形
		
			System.out.println("三角形的边长分别为"+"a="+a+","+"b="+b+","+"c="+c);
			double zhouchang = a+b+c;
			double l = a+b+c;
			double s = l/2;
			double mianji = Math.sqrt(s*(s-a)*(s-b)*(s-c));
			System.out.println("三角形周长为"+zhouchang);
			if(mianji==0){
				System.out.println("面积大小超出范围!");
			}else{
			    System.out.println("三角形面积为"+mianji);
			}
		}else{
			throw new SanjiaoException("不能构成三角形,请仔细检查!");
		}
	}

}


最后建个测试类:
package com.my;

import javax.swing.JOptionPane;

public class SanjiaoTest {            //测试类

	/**
	 * @param args
	 */
	public static void main(String[] args) throws NumberFormatException {
		// TODO 自动生成的方法存根
		
		try{
			double a=0,b=0,c=0;
			a = Double.parseDouble(JOptionPane.showInputDialog("请输入边长",new Double(a)));
			b = Double.parseDouble(JOptionPane.showInputDialog("请输入边长",new Double(b)));
			c = Double.parseDouble(JOptionPane.showInputDialog("请输入边长",new Double(c)));
			Cal.san(a, b, c);
			
		}catch(SanjiaoException se){            //捕获和处理自定义异常
			System.out.println("异常:");
			System.out.println(se.gerMessage());
		}catch(java.lang.NumberFormatException e){
			System.out.println("异常:输入的不是数字");
		}catch(Exception e){
			System.out.println("捕获和处理异结束");
		}

	}

}


最后,没有了。就这样吧。




posted @ 2013-05-16 22:02:21 kuye 阅读(10571) 评论(0)
发表评论
昵称
邮箱
网址