首页 > 其他 > 详细

实验九 异常的抛出 捕获和处理

时间:2019-05-27 13:53:21      阅读:120      评论:0      收藏:0      [点我收藏+]

实验程序如下:


public class 图形 {
 public static void main(String[] args) {
  
  point p1=new point(0,0);
  point p2=new point(1,0);
  point p3=new point(0,1);
  rectangle r=new rectangle(p1,5,6);
  triangle t=new triangle(p1,p2,p3);
  point[] point= {p1,p2};
  new polygon(point);
 }
}
 class point
 {
  int x;
  int y;
  point(){}
  public point (int x,int y)throws IllegalArgumentException
  {
   this.x=x;
   this.y=y;
   if(x<0||y<0)
    throw new IllegalArgumentException("无效参数"); 
  }
 }
 class rectangle extends point
 {
  int length;
  int width;
  public rectangle(point point1,int length,int width)throws IllegalArgumentException
  {
   this.length=length;
   this.width=width;
   if(length<0||width<0)
    throw new IllegalArgumentException("无效参数");
  }
 }
 class triangle extends point
 {
  public triangle(point point1,point point2,point point3)throws IllegalArgumentException
  {
   if(Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2))-Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2))<Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2)))
    if(Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2))-Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2))<Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2)))
     if(Math.sqrt(Math.pow((point1.x-point2.x), 2)+Math.pow((point1.y-point2.y), 2))-Math.sqrt(Math.pow((point1.x-point3.x), 2)+Math.pow((point1.y-point3.y), 2))<Math.sqrt(Math.pow((point2.x-point3.x), 2)+Math.pow((point2.y-point3.y), 2)))
      throw new IllegalArgumentException("无效参数");
  }
 }
 class polygon extends point
 {
  public polygon(point[] points)throws IllegalArgumentException
  {
   int i;
   i=points.length;
   if(i<=2)
    throw new IllegalArgumentException(无效参数");
  }
 }
 
 实验结果:
 
不断改变point的值,实现异常的抛出、捕获并处理
 
1.改变point1的值,使之为负。
技术分享图片

 

实验九 异常的抛出 捕获和处理

原文:https://www.cnblogs.com/pblqjyg/p/10930146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!