Java面向对象
Java面向对象导引
游泳池作业
创建泳池类
/**
* 游泳池
*
* @author coronach_joe
*
*/
public class SwimmingPool {
private double radius; // 泳池(圆)的半径
/**
* 计算圆的面积
*
* @return 面积,双精度浮点型
*/
public double getarea() {
return Math.PI * radius * radius;
}
/**
* 构造器
*
* @param radius 圆的半径
*
*/
public SwimmingPool(double radius) {
this.radius = radius;
}
}
创建过道类
package com.coronach;
public class Aisle {
private double radius;//过道半径
/**
* 计算过道的面积
*
* @return 面积,双精度浮点型
*/
public double getarea() {
return Math.PI * radius * radius;
}
/**
* 构造器
*
* @param radius围墙半径
*
*/
public Aisle(double radius) {
this.radius = radius;
}
}
创建围墙类
package com.coronach;
public class Wall {
private double radius;// 围墙半径
/**
* 计算圆的周长
*
* @return 周长,双精度浮点型
*/
public double getperimeter() {
return 2 * Math.PI * radius;
}
/**
* 构造器
* @param radius 围墙半径
*/
public Wall(double radius) {
this.radius = radius;
}
}
演示
import java.util.Scanner;
public class Test04 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);//创建扫描器
System.out.print("请输入泳池的半径\n");//提示用户输入泳池半径
double r = sc.nextDouble();//读取输入的数据
SwimmingPool swi = new SwimmingPool(r);//用构造器创建泳池对象并输入半径
double area1 = swi.getarea();//调用方法计算圆的面积
Aisle ai = new Aisle(r+3);//创建过道对象
Double area2 = ai.getarea();//计算过道和泳池总共面积
Wall wa = new Wall(r+3);//创建围墙对象
double perimeter = wa.getperimeter();//计算围墙的走场
double cost = (area2 - area1) * 18 + perimeter * 5;//计算总造价
System.out.printf("您的过道和围墙一共需要%.2f元",cost);//输出造价
sc.close();//关闭扫描器
}
}