1)该程序中有3个类:Triangle、Circle和cone,分别用来刻画“三角形”、“圆形”和“圆锥体”。具体要求如下:
a) Triangle类具有类型为double的三个边长度以及周长属性;定义构造函数,返回周长和修改三个边的方法。另外,Triangle类还具有一个boolean型的属性,该属性用来判断三条边能否构成一个三角形。
b) Circle类具有类型为double的属性半径、周长和面积;定义设置半径,返回面积的方法。
c) Cone类具有Circle类型的底,double类型的高这两个属性,定义构造函数,计算圆锥体体积的方法。
2)在一个新的Test类中创建并使用三个类的对象:
a)Triangle类:创建对象,并使用构造函数进行初始化。计算出周长值并输出 ;修改三边值并判断是否构成三角形
b)Circle类:创建对象并初始化,然后计算面积并输出
c)Cone类:创建对象并初始化,修改cone的底的半径,然后计算体积并输出
3)为Triangle,Cirlce,Cone,创建一个包,类的成员变量和方法分别用不同的访问限制符,public,private,protected和默认情况,查看区别。
代码:
Triangle类:
package my_homework;
// Triangle类具有类型为double的三个边长度以及周长属性;
// 定义构造函数,返回周长和修改三个边的方法。另外,
// Triangle类还具有一个boolean型的属性,该属性用来判断三条边能否构成一个三角形。
public class Triangle {
private double a,b,c; //边长
public double grith; //周长
protected boolean is_Triangle; //是否能构成三角形
Triangle(){}
Triangle(double a,double b,double c) {
this.a = a;
this.b = b;
this.c = c;
is_Creat();
}
public void setA(double a) {
this.a = a;
}
public void setB(double b) {
this.b = b;
}
public void setC(double c) {
this.c = c;
}
public void setABC(double a,double b,double c) {
this.a = a;
this.b = b;
this.c = c;
is_Creat();
}
public double getGrith() {
return grith;
}
boolean is_Creat(){
if(a+b>c&&a+c>b&&b+c>a) is_Triangle=true;
else is_Triangle=false;
return is_Triangle;
}
void Calculate_grith(){
grith=a+b+c;
}
}
Circle类:
package my_homework;
public class Circle {
// Circle类具有类型为double的属性半径、周长和面积;定义设置半径,返回面积的方法。
public double r,grith,area; //半径,周长,面积
Circle(){};
Circle(double r){
setR(r);
}
public void setR(double r) {
this.r = r;
grith = 2 * Math.PI * r;
Calculate_area();
}
void Calculate_area() {
area = Math.PI * r * r;
}
public double getGrith() {
return grith;
}
public double getArea() {
return area;
}
}
Cone类:
package my_homework;
public class Cone {
// Cone类具有Circle类型的底,double类型的高这两个属性,定义构造函数,计算圆锥体体积的方法。
public Circle down;
public double hight, v;
Cone() {
down = new Circle();
hight = 0;
}
Cone(double r,double hight){
down=new Circle(r);
this.hight=hight;
}
double Calculate_v(){
v=Math.PI*down.r*down.r*hight/3.0;
return v;
}
private double getHight() {
return hight;
}
protected double getV() {
return v;
}
}
Test类:
package my_homework;
//a)Triangle类:创建对象,并使用构造函数进行初始化。计算出周长值并输出 ;修改三边值并判断是否构成三角形
//b)Circle类:创建对象并初始化,然后计算面积并输出
//c)Cone类:创建对象并初始化,修改cone的底的半径,然后计算体积并输出
//3)为Triangle,Circle,Cone,创建一个包,类的成员变量和方法分别用不同的访问限制符,public,private,protected和默认情况,查看区别。
public class Test {
public static void main(String args[]) {
//Triangle类
Triangle triangle = new Triangle(3.5, 4.5, 5.5);
triangle.Calculate_grith();
double triangle_grith = triangle.getGrith();
System.out.println("三角形周长为:" + triangle_grith);
triangle.setABC(1.1, 2.2, 4.4);
System.out.println(triangle.is_Creat());
//Circle类
Circle circle = new Circle(2.1);
circle.Calculate_area();
double circle_area = circle.getArea();
System.out.println("圆的面积为:" + circle_area);
//Cone类
Cone cone=new Cone(2.2,3.3);
cone.down.setR(2.3);
cone.Calculate_v();
double cone_v=cone.getV();
System.out.println("圆锥体的体积为:"+cone_v);
}
}
运行界面: