[案例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-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南