【练习】面向对象系列(001)——泳池

来源:互联网 发布:mac wifi不能上网 编辑:程序博客网 时间:2024/05/01 03:18

- 作业:

R318/m25/m

package cn.laibin;import java.util.Scanner;public class TotalCost {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        System.out.print("泳池半径 R = ");        double rad = sc.nextDouble();        Circle natatorium = new Circle(rad);    //创建泳池对象        Circle wall = new Circle(rad + 3);      //创建围墙对象        double hallway = 0;                     //过道面积        double hallwayGirth = 0;                //围墙周长        double totalCost = 0;                   //总花费        hallway = wall.area() - natatorium.area();        hallwayGirth = wall.girth();        totalCost = hallway * 18 + hallwayGirth * 5;        System.out.printf("过道面积:%.2f平方米, 共花费 :¥ %.2f 元\n", hallway, hallway * 18);        System.out.printf("围墙周长:%.2f米, 共花费: ¥ %.2f 元\n", wall.girth(), hallwayGirth * 5);        System.out.printf("总共花费:¥ %.2f 元\n", totalCost);        sc.close();    }}

因为泳池、过道、围墙有共同特征就是它们都是圆,所以创建一个Circle的类,它有自己的属性:半径,也有自己的方法:求圆面积、周长以及自己的构造器。在有了Circle类后,就可以通过该类来创建泳池、围墙等对象,然后进行相关计算。

package cn.laibin;public class Circle {    private double rad;     //圆半径    /**     * 求圆的面积     * @return  返回圆面积     */    public double area() {        return Math.PI * rad * rad;    }    /**     * 求圆的周长     * @return  返回圆周长     */    public double girth() {        return 2 * Math.PI * rad;    }    /**     * 构造器     * @param rad 圆半径     */    public Circle(double rad) {        this.rad = rad;    }}

当输入泳池半径为5m时,计算结果如下图所示:
这里写图片描述

0 0
原创粉丝点击