java 3.30


/*(1)设计一个名为Geometric的几何图形的抽象类,该类包括:

①两个名为color、filled属性分别表示图形颜色和是否填充。

②一个无参的构造方法。

③一个能创建指定颜色和填充值的构造方法。

④一个名为getArea()的抽象方法,返回图形的面积。

⑤一个名为getPerimeter()的抽象方法,返回图形的周长。

⑥一个名为toString()的方法,返回圆的字符串描述。

(2)设计一个名为Circle的圆类来实现Geometric类,该类包括:

①一个名为radius的double属性表示半径。

②一个无参构造方法创建圆。

③一个能创建指定radius的圆的构造方法。

④radius的访问器方法。

⑤一个名为getArea()的方法,返回该圆的面积。

⑥一个名为getPerimeter()的方法,返回圆的周长。

⑦一个名为toString()的方法,返回该圆的字符串描述。

(3)设计一个名为Rectangle的矩形类来实现Geometric类,该类包括:

①两个名为side1、side2的double属性表示矩形的两条边。

②一个无参构造方法创建矩形。

③一个能创建指定sidel和side2的矩形的构造方法。

④sidel和sidez的访问器方法。

⑤一个名为getArea()的方法,返回该矩形的面积。

⑥一个名为gelPerimeter()的方法,返回该矩形的周长。

⑦一个名为toString()的方法,返回该矩形的字符串描述。

(4)设计一个名为Triangle的三角形类来实现Geometric类,该类包括:

①三个名为side1,side2和side3的double属性表示三角形的三条边。

②一个无参构造方法创建三角形。

③一个能创建指定side1,side2和side3的矩形的构造方法。

④sidel,side2和side3的访问器方法。

⑤一个名为getArea()的方法,返回该三角形的面积。

⑥一个名为getPerimeter()的方法,返回该三角形的周长。

⑦一个名为isTriangle()的方法,判断三边是否能构成三角形。

⑧一个名为toString()的方法,返回三边较小的字符串描述。

(5)编写测试类,测试图形的面积和周长。*/

 

   

package javafjh;

public abstract class Geometric {

public String color="黑色";//颜色成员变量
public String filled="是";//是否填充成员变量
abstract void Geometric();


void Geometri() {//无参构造方法

}
abstract double getArea( );//一个名为getArea()的抽象方法,返回图形的面积。

abstract double getPerimeter(); //⑤一个名为getPerimeter()的抽象方法,返回图形的周长。


@Override
public String toString() {
return "Geometric [color=" + color + ", filled=" + filled + "]";
}

package javafjh;

public class Circle extends Geometric {
/*设计一个名为Circle的圆类来实现Geometric类,该类包括:

①一个名为radius的double属性表示半径。

②一个无参构造方法创建圆。

③一个能创建指定radius的圆的构造方法。

④radius的访问器方法。

⑤一个名为getArea()的方法,返回该圆的面积。

⑥一个名为getPerimeter()的方法,返回圆的周长。

⑦一个名为toString()的方法,返回该圆的字符串描述。*/
public double radius;//一个名为radius的double属性表示半径。


public Circle(double d) {//③一个能创建指定radius的圆的构造方法。

radius=d;
}
@Override
public void Geometric() {//②一个无参构造方法创建圆。
// TODO Auto-generated method stub

}
public Circle() {
// TODO Auto-generated method stub

}


void zhidi() {

System.out.println("这是一个半径为"+radius+"的圆");
}



public double fw(double radius) {//④radius的访问器方法。

return radius;
}

public double getArea( ) {
//⑤一个名为getArea()的方法,返回该圆的面积。
return 3.14*radius*radius;
}

public double getPerimeter() {
//⑥一个名为getPerimeter()的方法,返回圆的周长。
return 2*3.14*radius;
}
@Override
public String toString() {//⑦一个名为toString()的方法,返回该圆的字符串描述。*/
return "Circle [radius=" + radius + ", color=" + color + ", filled=" + filled + ", getArea()=" + getArea()
+ ", getPerimeter()=" + getPerimeter() + ", toString()=" + super.toString() + ", getClass()=" + getClass()
+ ", hashCode()=" + hashCode() + "]";
}

}

 

 

package javafjh;

public class Rectangle extends Geometric {
/*(3)设计一个名为Rectangle的矩形类来实现Geometric类,该类包括:

①两个名为side1、side2的double属性表示矩形的两条边。

②一个无参构造方法创建矩形。

③一个能创建指定sidel和side2的矩形的构造方法。

④sidel和sidez的访问器方法。

⑤一个名为getArea()的方法,返回该矩形的面积。

⑥一个名为gelPerimeter()的方法,返回该矩形的周长。

⑦一个名为toString()的方法,返回该矩形的字符串描述。*/

public double side1,side2 ;//两个名为side1、side2的double属性表示矩形的两条边。
void Geometric() {
// TODO Auto-generated method stub

}

public Rectangle() {//一个无参构造方法创建矩形。

// TODO Auto-generated constructor stub
}



public Rectangle(double side1,double side2) {//③一个能创建指定sidel和side2的矩形的构造方法。

this.side1=side1;
this.side2=side2;
}


void zhidi() {

System.out.println("这是一个长为"+side1+"高为"+side2+"的矩形");
}

public double fw( ) {

return side1;
}

public double fe( ) {

return side2;
}


public double getArea() {//一个名为getArea()的方法,返回该矩形的面积。

return side1*side2 ;
}

public double getPerimeter() {//⑥一个名为gelPerimeter()的方法,返回该矩形的周长。

return (side1+side2)*2;
}


@Override
public String toString() {//一个名为toString()的方法,返回该矩形的字符串描述。*/
return "Rectangle [side1=" + side1 + ", side2=" + side2 + ", color=" + color + ", filled=" + filled + ", fw()="
+ fw() + ", fe()=" + fe() + ", getArea()=" + getArea() + ", getPerimeter()=" + getPerimeter()
+ ", toString()=" + super.toString() + ", getClass()=" + getClass() + ", hashCode()=" + hashCode()
+ "]";
}

 

 

 

package javafjh;

public class Triangle extends Geometric{/*设计一个名为Triangle的三角形类来实现Geometric类,该类包括:

①三个名为side1,side2和side3的double属性表示三角形的三条边。

②一个无参构造方法创建三角形。

③一个能创建指定side1,side2和side3的矩形的构造方法。

④sidel,side2和side3的访问器方法。

⑤一个名为getArea()的方法,返回该三角形的面积。

⑥一个名为getPerimeter()的方法,返回该三角形的周长。

⑦一个名为isTriangle()的方法,判断三边是否能构成三角形。

⑧一个名为toString()的方法,返回三边较小的字符串描述。

(5)编写测试类,测试图形的面积和周长。*/

double side1,side2,side3,p ,s,x;
public Triangle(double side1,double side2,double side3) {//三个名为side1,side2和side3的double属性表示三角形的三条边。

this.side1=side1;
this.side2=side2;
this.side3=side3;
}

public Triangle() {//个无参构造方法创建三角形。

}

void zhidi() {

System.out.println("这是一个三边为"+side1+":"+side2+":"+side3+"的三角形");
}// sidel,side2和side3的访问器方法。

public void isTriangle() {

if ((side1+side2)>side3&&(side1+side3)>side2&&(side2+side3)>side1) {////一个名为isTriangle()的方法,判断三边是否能构成三角形。
System.out.println("可以构成三角形");

}
else {System.out.println("不可以构成三角形"); System.exit(0);}//构不成三角形直接结束程序的运行;
}

public double fw(double side1 ) {

return side1;
}

public double fe(double side2 ) {

return side2;
}

public double ft(double side3 ) {

return side3;
}

public double getArea() {
p=(side1+side2+side3)/2;
s=(p*(p-side1)*(p-side2)*(p-side3)) ;

return Math.sqrt(s);//一个名为getArea()的方法,返回该三角形的面积。
}

public double getPerimeter() {

return (side1+side2+side3);//一个名为getPerimeter()的方法,返回该三角形的周长。
}

public double zuix() {
if(side1>side2)x=side2;
else x=side1;
if (x>side3) {x=side3;
}
return x;//找出最小的一条边;

}


@Override
void Geometric() {
// TODO Auto-generated method stub

}

@Override
public String toString() {
return "Triangle [zuix()=" + zuix() + "]";//一个名为toString()的方法,返回三边较小的字符串描述。
}

}

 

package javafjh;

import java.util.Scanner;

public class yuces {

public static void main(String[] args) {
double as,de,we;
Scanner scanner= new Scanner(System.in);
System.out.println("输入圆的半径");
as=scanner.nextDouble();//半径赋值;
Circle a=new Circle(as);//圆类创建对象;
System.out.println("圆的面积为"+a.getArea());//输出面积
System.out.println("圆的周长为"+a.getPerimeter());//输出周长
System.out.println("填充颜色:"+a.color+" 是否填充:"+a.filled);
System.out.println(a.toString());//输出字符串的描述
System.out.println("----------------------------------------------------------------");

System.out.println("输入矩形的两条边");
as=scanner.nextDouble();
de=scanner.nextDouble();//矩形两条边赋值;
Rectangle b=new Rectangle(as,de); //矩形类创建对象;

System.out.println("矩形的面积为"+b.getArea());//输出面积
System.out.println("矩形的周长为"+b.getPerimeter());//输出周长
System.out.println("填充颜色:"+b.color+" 是否填充:"+b.filled);
System.out.println(b.toString());//输出字符串的描述

System.out.println("----------------------------------------------------------------");

System.out.println("输入三角形的三条边");
as=scanner.nextDouble();
de=scanner.nextDouble();
we=scanner.nextDouble();//三角形三条边赋值;
Triangle r=new Triangle(as,de,we); //三角形类创建对象;
r.isTriangle();
System.out.println("三角的面积为"+r.getArea());//输出面积
System.out.println("三角的周长为"+r.getPerimeter());//输出周长
System.out.println("填充颜色:"+b.color+" 是否填充:"+b.filled);
System.out.println(r.toString());//输出字符串的描述
}

}

 

posted @ 2022-03-31 15:14  嘀咕嘀咕12134  阅读(127)  评论(0)    收藏  举报