[案例4-5]图形的面积与周长计算程序
2022/3/20 12:27:34
本文主要是介绍[案例4-5]图形的面积与周长计算程序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
案例描述:
长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。
运行结果:
代码如下:
创建抽象类:
/** * 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); } }
这篇关于[案例4-5]图形的面积与周长计算程序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行