[案例4-5]图形的面积与周长计算程序

[案例4-5]图形的面积与周长计算程序案例描述 长方形和圆形都属于几何图形 都有周长和面积 并且它们都有自己的周长和面积计算公式 使用抽象类的知识设计一个程序 可以计算不同图形的面积和周长 运行结果 代码如下 创建抽象类 2022 3 20 public abstract class Shape 获取面积

大家好,我是讯享网,很高兴认识大家。

案例描述:

长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。

运行结果:


讯享网

 

代码如下:

创建抽象类:

 / * 2022/3/20 */ public abstract class Shape { // 获取面积 abstract double Area(); // 获取周长 abstract double Perimeter(); }

讯享网

创建长方形类和正方形类继承抽象类:

讯享网 / * 2022/3/20 */ public class Circular extends Shape{ // 圆形周长:2Πr ,面积:Πr的平方 private double radius = 0; // 半径 private final double PI = 3.14; // 圆周率 public Circular(double radius) { this.radius = radius; } @Override double Area() { // 面积 return PI*radius*radius; } @Override double Perimeter() { // 周长 return 2*radius*PI; } }
 / * 2022/3/20 */ public class Rectangle extends Shape{ // 长方形面积:长*宽,周长:2*(长+宽) private double length = 0; // 长 private double width = 0; // 宽 public Rectangle(double length, double width) { this.length = length; this.width = width; } @Override double Area() { // 面积 return length*width; } @Override double Perimeter() { // 周长 return 2*(length+width); } }

创建计算周长与面积的类:

讯享网 / * 2022/3/20 */ public class ShapeCaculate { // 创建可以计算任意子类面积的方法 public void calArea(Shape shape){ System.out.println(shape.Area()); } // 创建可以计算任意子类周长的方法 public void calPerimeter(Shape shape){ System.out.println(shape.Perimeter()); } }

最后创建测试类:

 import java.util.Scanner; / * 2022/3/20 */ public class Demo { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("请输入要计算的长方形的长和宽:"); double length = in.nextDouble(); double width = in.nextDouble(); System.out.println("请输入要计算的圆形的半径:"); double radius = in.nextDouble(); // 创建图形计算器对象 ShapeCaculate sc = new ShapeCaculate(); // 创建长方形和圆形对象 Rectangle r = new Rectangle(length,width); Circular c = new Circular(radius); System.out.println("长方形的周长为"); // 通过计算机对象调方法,实现输出 sc.calPerimeter(r); System.out.println("长方形的面积为:"); sc.calArea(r); System.out.println("圆形的周长为:"); sc.calPerimeter(c); System.out.println("圆形的面积为:"); sc.calArea(c); } }

小讯
上一篇 2025-02-10 18:15
下一篇 2025-01-08 20:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126227.html