1、实验名称:求柱体体积
2、实验目的:
理解并使用抽象类及抽象方法
理解并掌握向上转型实现多态
继续掌握引用类型的参数传值的过程及内存中的变化情况
熟练代码调试
实现求圆柱、方柱、三棱柱的体积
3、实验源代码:
Circle.java

public class Circle {private  double r;public Circle(double r) {if(r>0){this.r = r;}else {System.out.println("error!");}}public double getArea() {return Math.PI * r * r;}public void setR(double r) {if(r>0){this.r = r;}else {System.out.println("error!");}}
}

Square.java

public class square {private double a=0;private double b=0;private double c=0;private double h=0;public square(double a, double h) {this.a = a;this.h = h;}public square(double a, double b, double c) {this.a = a;this.b = b;this.c = c;}public void setA(double a) {if(a>0){this.a = a;}else {System.out.println("error!");}}public void setB(double b) {if(b>0){this.b = b;}else {System.out.println("error!");}}public void setC(double c) {if(c>0){this.c = c;}else {System.out.println("error!");}}public void setH(double h) {if(h>0){this.h = h;}else {System.out.println("error!");}}public double getArea(){if(h!=0&&b!=0){System.out.println("error!");return -1;}if(h!=0){double s=a*h/2;return s;}else {double p=(a+b+c)/2;double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));return s;}}
}

Rectangle.java

public class rectangle {private double a;private double b;public rectangle(double a, double b) {if(a>0&&b>0) {this.a = a;this.b = b;}else {System.out.println("error!");}}public void setA(double a) {if(a>0) {this.a = a;}else {System.out.println("error!");}}public void setB(double b) {if(b>0){this.b = b;}else {System.out.println("error!");}}public double getArea() {return a*b;}
}

Cuboid.java

package 作业.four;public class cuboid extends rectangle{private double h;public cuboid(double a, double b,double h) {super(a, b);if(a>0&&b>0&&h>0) {this.h = h;}else{System.out.println("error!");}}public void setR(double h) {if(h>0) {this.h = h;}else {System.out.println("error!");}}public double getArea() {double s=super.getArea();return s*h;}
}
Cylinder.java
package 作业.four;public class cylinder extends Circle{private double h;public cylinder(double r ,double h) {super(r);if(r>0&&h>0) {this.h = h;}else{System.out.println("error!");}}public void setR(double h) {if(h>0) {this.h = h;}else {System.out.println("error!");}}public double getArea() {double s=super.getArea();return s*h;}
}

Triangular_cylinder.java

public class Triangular_cylinder extends square{private double h;public Triangular_cylinder(double a, double h1, double h) {super(a, h1);if(a>0&&h1>0&&h>0) {this.h = h;}else{System.out.println("error!");}}public Triangular_cylinder(double a, double b,double c, double h) {super(a, b, c);if(a>0&&b>0&&h>0) {this.h = h;}else{System.out.println("error!");}}public void setR(double h) {if(h>0) {this.h = h;}else {System.out.println("error!");}}public double getArea() {double s=super.getArea();return s*h;}}

Demo.java

package 作业.four;public class Demo {public static void main(String[] args) {cuboid V1=new cuboid(1,2,3);cylinder V2=new cylinder(1,1);Triangular_cylinder V3=new Triangular_cylinder(3,4,5,4);System.out.println("立方体体积为:"+V1.getArea());System.out.println("圆柱体体积为:"+V2.getArea());System.out.println("三角柱体体积为:"+V3.getArea());}
}

4、实验运行结果图:

5、实验总结:
设计了基础的三个二维图形界面,通过继承的方式去构建三维图像,最后通过Demo主函数进行调用(特殊:设计三角形时,数据进行了两种方式构建)

JAVA实验,求柱体面积相关推荐

  1. java海伦公式求三角形面积_海伦公式求三角形面积出错求教

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 就下面这个程序 输入其他的数字都可以算出面积 但是当输入3,4,6时 计算出面积为零 求吧友指出错误在哪 package javaapplication1 ...

  2. java shp求相交面积_shp文件自相交处理的方法

    原标题:shp文件自相交处理的方法 今天基于GDAL使用shp文件对栅格影像进行裁剪时出现了下面的问题,提示多边形自相交了 Warning1: RingSelf-intersectionatornea ...

  3. java多态 求形状面积_JAVA多态计算面积main函数调用方法

    public static void main(String[] args) { Shape shape; Scanner input = new Scanner(System.in); System ...

  4. java继承求三角形圆形面积_java求三角形面积

    (min>c)min=c; if(min>d)min=d; System.out.println("min is "+min); } } } 15.test30003求 ...

  5. 已知三角形三边长求面积java_已知三角形三点坐标求三角形面积.java

    已知三角形三点坐标求三角形面积 主程序代码如下: import java.util.*; public class Tringle { public static void main(String[] ...

  6. Java带GUI求柱体的体积

    Java带界面求柱体的体积 描述:编写一个图形界面程序,程序可以输入两种柱体的参数:长方体和圆柱体,点击"计算体积"按钮后,显示柱体的体积. 文章目录 Java带界面求柱体的体积 ...

  7. 【无标题】java求等腰梯形面积

    由于学校即将进行java期末考试,为了应对复习需要,需要一个通过上底,下底,斜边求等腰梯形的面积.其他文章都是通过求高的方式求等腰梯形面积的,所以我苦思良久,写下了这段代码.我通过勾股定理间接求梯形的 ...

  8. Java实现求多个矩形、三角形、圆形和梯形的周长和面积

    实现:由用户选择对哪个图形进行计算,由用户决定是否退出程序,界面友好.可读性强. import java.util.Scanner;class rectangle//矩形 {int long1;//长 ...

  9. 武汉科技大学java题库答案_武汉科技大学 java实验报告 实验二

    <武汉科技大学 java实验报告 实验二>由会员分享,可在线阅读,更多相关<武汉科技大学 java实验报告 实验二(9页珍藏版)>请在金锄头文库上搜索. 1.注:"实 ...

最新文章

  1. 网站防火墙探测工具Wafw00f
  2. 0基础学python看什么书-编程语言学python必看这三本书,少走一半弯路
  3. 通过@Value + @PropertySource来给组件赋值
  4. java实现迷你计算机,用JAVA写一个迷你编辑器.doc
  5. 语言的开题报告范文_【开题系列】刘凤朝:撰写文科博士学位论文开题报告应注意的几个问题...
  6. c++ vector api summary
  7. Sensor 代码流程分析
  8. python数据分析师网易城市数据团_城市数据分析师-网易云课堂 - 网易云课堂
  9. pyboard :红外遥控模块,class UART
  10. 仿iReader 阅读器(swift)
  11. 有关git commit --amend的用法及若干个问题
  12. 0到100之间的阶乘linux算法,零基础学算法-阶乘
  13. 2022电大国家开放大学网上形考任务-民事诉讼法学非免费(非答案)
  14. 文件、图片上传,下载预览的实现
  15. 数据库问题——合并表格
  16. 服务器硬防和软防是什么意思?服务器软件防火墙
  17. matlab减小数据方差,最小方差控制
  18. 微信小程序开发工具安装破解
  19. 进程、线程、程序的区别
  20. 分享!手机浏览器跳转微信一键添加微信好友的方案

热门文章

  1. 网站的关键!教你13步打造漂亮的WEB字体
  2. python3爬取笔趣阁小说
  3. Linux 浅薄的认知笔记
  4. docker swam
  5. 聊聊程序员的核心能力
  6. dell 1u服务器型号,戴尔_PowerEdge R240_1U机架式服务器_小型企业服务器选购 | Dell 中国大陆...
  7. PWA:安装 Web 应用
  8. 解决/lib64/libstdc++.so.6: version `CXXABI_1.3.8‘ not found
  9. Python-中文编码
  10. 职场社交平台领英(LinkedIn),暂停中国境内的新用户注册