计算长方体、四棱锥的表面积和体积

该程序使用Java编写,实现了输入长方体和四棱锥的长、宽、高后,计算并输出它们的表面积和体积。通过创建Rect基类,以及Cubic(长方体)和Pyramid(四棱锥)子类,分别计算各自的表面积和体积。长方体表面积由两个底面和四个侧面构成,四棱锥的表面积包括一个底面和四个侧面,体积则根据几何公式计算得出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Scanner;

class Rect {
	double l, h, z;

	public Rect(double l, double h, double z) {
		if (l <= 0 || h <= 0 || z <= 0) {
			l = 0;
			h = 0;
			z = 0;
		}

		this.l = l;
		this.h = h;
		this.z = z;
	}

	public void length() {
	}

	public void area() {
	}
}

class Cubic extends Rect {

	public Cubic(double l, double h, double z) {
		super(l, h, z);
		// TODO Auto-generated constructor stub
	}

	public void length(Cubic cu) {
		System.out.printf("%.2f ", cu.l * cu.h * 2 + cu.l * cu.z * 2 + cu.h
				* cu.z * 2);
	}

	public void area(Cubic cu) {
		System.out.printf("%.2f ", cu.l * cu.z * cu.h);
	}
}

class Pyramid extends Rect {

	public Pyramid(double l, double h, double z) {
		super(l, h, z);
		// TODO Auto-generated constructor stub
	}

	public void length(Pyramid cu) {
		double a = Math.sqrt((cu.h / 2 )* (cu.h / 2) + cu.z * cu.z)*1.0/2;
		double b = Math.sqrt((cu.l / 2 )*( cu.l / 2) + cu.z * cu.z)*1.0/2;
		double temp = a * cu.l * 2 + b * cu.h * 2 + cu.l * cu.h;
		System.out.printf("%.2f ", temp);
	}

	public void area(Pyramid cu) {
		double a = cu.l * cu.h;
		System.out.printf("%.2f\n", (1.0 / 3) * a * cu.z);
	}
}

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner cin = new Scanner(System.in);
		while (cin.hasNext()) {
			double l = cin.nextDouble();
			double h = cin.nextDouble();
			double z = cin.nextDouble();
			Cubic cu = new Cubic(l, h, z);
			cu.length(cu);
			cu.area(cu);
			Pyramid py = new Pyramid(l, h, z);
			py.length(py);
			py.area(py);
		}
		cin.close();
	}

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值