Java 应用程序,该程序中有 3 个类:Triangle、T rapezium 和 Circle,分别用来 表示三角形、梯形和圆形。
具体要求如下。
Triangle 类具有类型为 double 的三个边、周长以及面积属性,Triangle 类具有构造方法初始化属性和返回周长、面积以及修改三个边的功能。另外,Triangle 类还具有一个 boolean 型的属性,该属性用来判断三个数能否构成一个三角形。
Trapezium 类具有类型为 double 的上底、下底、高以及面积属性,具有构造方法初始化属性和返回面积的功能。
Circle 类具有类型为double的半径、周长以及面积属性,具有构造方法初始化属性和返回周长、面积的功能。
生成实例测试该类。
package test1;
import java.util.Scanner;
class Trangle {//定义三角形类
double A,B,C,perimeter,acreage;//定义三边变量以及面积和周长
boolean m;//定义Boolean变量判断是否可以构成三角形
public Trangle (double a,double b,double c) {//三角形类构造方法
A=a;B=b;C=c;
};
void panduan() {//判断是否可以构成三角形
if (A+B>C&&A+C>B&&B+C>A)
{m=true;
System.out.println(“可以构成三角形”);
}
else
{System.out.println(“不能构成三角形”);
m= false;
}
};
double Getperimeter() {//计算三角形周长并返回
perimeter=( A+B+C);
return perimeter;
}
double Getacreage() {//计算三角形面积并返回
double p=(A+B+C)/2.0;
acreage=Math.sqrt(p*(p-A)(p-B)(p-C));
return acreage;
}
void SetABC(double a,double b,double c) {//修改三角形边长
A=a;B=b;C=c;
System.out.println(“三角形的三边长已更改”);
}
}
class Lader {//定义梯形类
double above ,bottom,height,area;//定义变量包括上底,下底,高,面积
Lader(double a,double b,double c){//梯形类的构造方法
above=a;bottom=b;height=c;
};
double Getarea() {//计算梯形类的面积并返回
area=(above+bottom)height/2;
return area;
}
}
class Circle{//定义圆类
double radius ,area,length;
Circle (double a){
radius =a;
}
double Getarea () {//计算圆面积并返回
area=3.141592654radiusradius;
return area;
}
double Getlength() {//计算圆周长
length=23.141592654*radius;
return length;
}
void Setradius(double b) {//更改圆半径
radius =b;
System.out.println(“半径更改为:radius=”+radius);
}
double Getradius () {//显示圆半径
return radius;
}
}
public class Xingzhuang {
public static void main(String[] args) {//测试以上程序
int n;
do { //使用循环语句,可多次选择操作
System.out.println("请输入你要刻画的图形的编号:1.三角形 2.梯形 3.圆形或输入4终止程序");
Scanner input =new Scanner(System.in);
n=input.nextInt();
switch(n) {//根据选项进行操作
case 1:
System.out.println("请输入三角形的三边长,用空格分开");
double []put=new double [3];
for (int i=0;i<3;i++)
{
put[i]=input.nextDouble();
}
Trangle sanjiao =new Trangle(put[0],put[1],put[2]);
System.out.println("判断三边是否可以构成三角形:");
sanjiao.panduan();
if(sanjiao.m) {//只有可以构成三角形才计算周长和面积否则终止循环
System.out.println("三角形的周长是:"+sanjiao.Getperimeter());
System.out.println("三角形的面积是:"+sanjiao.Getacreage());
break;}
else {
break;
}
case 2:
System.out.println("请分别输入矩形的上底、下底长和高");
double z,x,c;
z=input.nextDouble();
x=input.nextDouble();
c=input.nextDouble();
Lader juxing=new Lader(z,x,c);
System.out.println("矩形的面积是:"+juxing.Getarea());
break;
case 3:
System.out.println("请输入圆的半径");
double r;
r=input.nextDouble();
Circle yuan =new Circle(r);
System.out.println("圆的面积是:"+yuan.Getarea());
System.out.println("圆的周长是:"+yuan.Getlength());
break;
}
}while (n!=4);//输入4会终止循环
}
}