实验九

实验程序如下:


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(无效参数");
  }
 }
   通过和别人和网上的借鉴 还是不够了解。
posted @ 2019-05-29 10:27  zengtaicuomao  阅读(143)  评论(1编辑  收藏  举报