java编写程序实现求三角形、正方形和圆的面积

该博客介绍用Java编写程序来计算三角形、正方形和圆的面积。通过设计一个公共父类,在其中定义求面积的方法,再通过继承该父类得到各种形状类,以此实现不同形状面积的计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java编写程序实现求三角形、正方形和圆的面积,要求先设计一个公共的父类,在其中·定义求面积的方法,再继承得到各种形状

package practice3;
abstract class shape{
	abstract void getArea();
}
class square extends shape{
	double x;
	public square(double x){
		this.x=x;
	}
	@Override
	void getArea() {
		// TODO Auto-generated method stub
		System.out.println(x*x);
	}
}
class triangle extends shape{
	double a,b,c;
	public triangle(double a,double b,double c){
		this.a=a;
		this.b=b;
		this.c=c;
	}
	@Override
	void getArea() {
		// TODO Auto-generated method stub
		double p=(a+b+c)/2;
		double area=Math.sqrt(p*(p-a)*(p-b)*(p-c));
		System.out.println(area);
	}
}
class circle extends shape{
	double r;
	public circle(double r){
		this.r=r;
	}
	@Override
	void getArea() {
		// TODO Auto-generated method stub
		System.out.println(3.14*r*r);
	}
}
public class test2 {
    public static void main(String[] args) {
		 shape s[]=new shape[3];
		 s[0]=new square(2);
		 s[1]=new triangle(3,4,5);
		 s[2]=new circle(2);
		 for(int i=0;i<3;i++){
			 s[i].getArea();
		 }
	}
}

 

Java中,继承是一个强大的特性,它允许创建一个称为"超类"或"父类"的抽象类,其他更具体的"子类"可以继承这个父类并添加或修改其属性方法。如果你想编写一个程序来计算图形(如正方形三角形)的周长面积,并使用继承来组织结构,你可以这样做: 首先,创建一个抽象的`Shape`类作为父类,包含共同的属性(比如面积周长的基本性质)计算方法: ```java public abstract class Shape { protected double side; // 正方形边长,的半径,三角形的一条边 public Shape(double side) { this.side = side; } // 定义抽象方法计算周长 public abstract double getPerimeter(); // 共享计算面积的方法,对具体形状的具体计算可能有所不同 public double getArea() { return side * side; // 例如对于正方形,直接使用side的平方 } } ``` 然后,为每个具体的图形创建子类,实现`getPerimeter()`方法: ```java // 正方形类 public class Square extends Shape { @Override public double getPerimeter() { return 4 * side; } } // 形类 public class Circle extends Shape { private final double PI = 3.14159; @Override public double getPerimeter() { return 2 * PI * side; } } // 三角形类 public class Triangle extends Shape { private double height; // 用于计算面积,假设已知 public Triangle(double base, double height) { super(base); this.height = height; } @Override public double getPerimeter() { return 2 * side + (height / 2); // 这里假设基础类型(base)是side,实际可能需要调整 } // 对于特定类型的三角形(如等腰三角形或直角三角形),这里可能有特定的面积计算 } ``` 现在你可以在主程序中通过`Shape`的引用实例化任意形状,并调用它们的公共方法: ```java public static void main(String[] args) { Shape square = new Square(5); System.out.println("Square Perimeter: " + square.getPerimeter()); System.out.println("Square Area: " + square.getArea()); Shape circle = new Circle(7); System.out.println("Circle Perimeter: " + circle.getPerimeter()); System.out.println("Circle Area: " + circle.getArea()); Triangle triangle = new Triangle(6, 8); System.out.println("Triangle Perimeter: " + triangle.getPerimeter()); System.out.println("Triangle Area: " + triangle.getArea()); // ... 更多操作... } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鱼爱吃火锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值