java 程序写出三个类,triangle,lader,circle(简单易懂)

编写一个Java应用程序,该程序中有三个类:Triangle、Trapezoid和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
1.Triangle类具有类型为double的三个边,以及周长、面积属性,Triangle类具有返回周长、面积以及修改三个边的功能。此外,Triangle类还有一个boolean型的属性,该属性用来判断三个数能够构成一个三角形。完成上述操作后,给Triangle再增加3个方法,分别用来返回3个边sideA, sideB, sideC的值。
2.Lander类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。
3.Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
4.编写一个测试类Test,分别创建类Triangle、Trapezoid和Circle的对象,并计算三角形、梯形和圆形的周长和面积。
5.画出该应用程序的类图。

package com.google;

import java.util.Scanner;

//此程序写出三个类,triangle,Lader,circle
//其中triangle类具有类型为double的a,b,c边以及周长,面积属性
//具有周长,面积以及修改三边的功能,还有判断能否构成三角形的boolean类
//Lader类具有类型为double的上底下底和高,面积属性,具有返回面积的功能
//circle 类具有类型为double的半径,周长和面积。具有返回周长面积的功能
class Lader{
	double shangdi;
	double xiadi;
	double gao;
	//构造方法
	public Lader(double shangdi,double xiadi,double gao){
		this.shangdi=shangdi;
		this.xiadi=xiadi;
		this.gao=gao;
	}
	
	public double CalculateArea()
	{
		return (shangdi+xiadi)*gao/2.0;
	}
}

class Circle{
	double r;
	double area;
	double perimeter;
	public static final double PI=3.141592;
	//构造方法
	public Circle(double r)
	{
		this.r=r;
		
	}
	public double getArea()
	
	{
		return PI*r*r;
	}
	public double getPerimeter()
	{
		return 2*PI*r;
	}
	
}

public class Triangle
{
     double a;
     double b;
     double c;
     double area;
     double perimeter;
    boolean isTriangle;
   static Scanner input=new Scanner(System.in);
   //构造方法
   public Triangle(double a,double b,double c)
   {
	   this.a=a;
	   this.b=b;
	   this.c=c;
	   isTriangle=triangle();
   }
   public double getA() 
   {
	   return a;
   }
   public void setA(double a) 
   {
	   this.a = a;
   }
   public double getB() 
   {
	   return b;
   }
   public void setB(double b) 
   {
	   this.b = b;
   }
   public double getC() 
   {
	   return c;
   }
   public void setC(double c) 
   {
	   this.c = c;
   }
   private boolean triangle()
   {
	   if((a+b>c)&&(a+c>b)&&(b+c>a)&&(a-b<c)&&(a-c<b)&&b-c<a)
		   return true;
	   return false;
   }
   //求取三角形的面积
   public double getArea()
   {
	   if(isTriangle)
		   {
		   area=(a+b+c)*1.0/2;
		   return area;
		   }
		  throw new IllegalArgumentException("三边不能构成上三角行!");
	   //满足条件时有一个返回,编译器提示你在不满足条件时还需要一个返回
       //这时候我们就需要自己抛出一个异常
	  
   }
   public double getPerimeter()
   {
	   if(isTriangle)
	   { 
		   perimeter=a+b+c;
	   return perimeter;
	   }
	   throw new IllegalArgumentException("三边不能构成上三角行!");
   }
  
   //更改三边数值
   public void UpdateSide()
   {
	   System.out.println("请分别输入要更改的 a,b,c三边值:");
	   double update_a=input.nextDouble();
	   double update_b=input.nextDouble();
	   double update_c=input.nextDouble();
	   a=update_a;
	   b=update_b;
	   c=update_c;
	   System.out.println("三角形的周长:"+getPerimeter());
       System.out.println("三角形的面积:"+getArea());
	  
   }
   
   public void prompt()
   {
	   System.out.println("是否更改三边数值?");
	   System.out.println("是 (请输入1)");
	   System.out.println("否 (请输入2)");
	   
	   int num=input.nextInt();
	   if(num==1)
	   {
		   UpdateSide();
	   }
	   else if(num==2)
	   {
		   System.out.println("谢谢使用!");
	   }
	   else
	   {
		   System.out.println("输入错误!");
	   }
   }
   public static void main(String[] args)
   {
       Triangle triangle=new Triangle(3,4,5);
       Lader lader = new Lader(2.00,3.00,2.00);               
       //三个参数分别是上底 下底 高
      Circle circle = new Circle(3.00);                                
      //参数是圆的半径
      System.out.println("面积是"+lader.CalculateArea());
      System.out.println("圆形周长是"+circle.getPerimeter());
      System.out.println("圆形面积是"+circle.getArea());
       System.out.println("三角形的周长:"+triangle.getPerimeter());
       System.out.println("三角形的面积:"+triangle.getArea());
       triangle.prompt();
       }
}


  • 19
    点赞
  • 93
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值