1. //此程序写出三个类,triangle,lader,circle;其中triangle类具有类型为double的a,b,c边以及周长,面积属性,
  2. //具有周长,面积以及修改三边的功能,还有判断能否构成三角形的boolean类。
  3. //lader类具有类型为double的上底下底和高,面积属性,具有返回面积的功能
  4. //circlle 类具有类型为double的半径,周长和面积。具有返回周长面积的功能
  5. //Lader类
  6. class Lader {
  7. double shangDi; //上底
  8. double xiaDi; //下底
  9. double heigth; //高
  10. double area; //面积
  11.  
  12. //下面是构造方法
  13. public Lader(double shangDi,double xiaDi,double heigth){
  14. this.shangDi=shangDi;
  15. this.xiaDi=xiaDi;
  16. this.heigth=heigth;
  17. }
  18. //下面是求面积
  19. public double getArea(){
  20. return (shangDi+xiaDi)*heigth/2;
  21. }
  22. }
  23. //Circle类
  24. class Circle{
  25. double r; //半径
  26. double l; //周长
  27. double area; //面积
  28. public static final double PI=3.1415926;
  29.  
  30. //下面是构造方法
  31. public Circle(double r){
  32. this.r=r;
  33. }
  34. //得到周长
  35. public double getL(){
  36. return 2*PI*r;
  37. }
  38. //得到面积
  39. public double getArea(){
  40. return 2*PI*r*r;
  41. }
  42.  
  43. }
  44. public class Triangle
  45. {
  46. //size1,size2,size3分别是三角形的三条边
  47. private double size1;
  48. private double size2;
  49. private double size3;
  50. private boolean isTriangle;
  51. //下面构造方法
  52. public Triangle(double size1, double size2, double size3) {
  53. this.size1 = size1;
  54. this.size2 = size2;
  55. this.size3 = size3;
  56. isTriangle=triangle();
  57. }
  58. //判断是否能构造三角形
  59. private boolean triangle()
  60. {
  61. if((size1+size2>size3)&&
  62. (size1+size3>size2)&&
  63. (size2+size3>size1)&&
  64. (size1-size2<size3)&&
  65. (size1-size3<size2)&&
  66. size2-size3<size1)
  67. return true;
  68. return false;
  69. }
  70. //下面是得到三边长
  71. public double getSize1() {
  72. return size1;
  73. }
  74.  
  75. public void setSize1(double size1) {
  76. this.size1 = size1;
  77. }
  78.  
  79. public double getSize2() {
  80. return size2;
  81. }
  82.  
  83. public void setSize2(double size2) {
  84. this.size2 = size2;
  85. }
  86.  
  87. public double getSize3() {
  88. return size3;
  89. }
  90.  
  91. public void setSize3(double size3) {
  92. this.size3 = size3;
  93. }
  94.  
  95. public boolean isTriangle() {
  96. return isTriangle;
  97. }
  98.  
  99. public void setTriangle(boolean isTriangle) {
  100. this.isTriangle = isTriangle;
  101. }
  102. //得到面积
  103. public double getArea() {
  104. if(isTriangle)
  105. {
  106. double c=getPermie()/2;
  107. return Math.sqrt(c*(c-size1)*(c-size2)*(c-size3));
  108. }
  109. throw new IllegalArgumentException("三边不能构成上三角形!");
  110. }
  111. //得到周长
  112. public double getPermie() {
  113. if(isTriangle)
  114. return size1+size2+size3;
  115. throw new IllegalArgumentException("三边不能构成上三角行!");
  116. }
  117.  
  118. public static void main(String[] args)
  119. {
  120. Triangle triangle=new Triangle(3, 4, 5);
  121. Lader lader = new Lader(2.00,3.00,2.00); //三个参数分别是上底 下底 高
  122. Circle circle = new Circle(3.00); //参数是圆的半径
  123. System.out.println("面积是"+lader.getArea());
  124. System.out.println("圆形周长是"+circle.getL());
  125. System.out.println("圆形面积是"+circle.getArea());
  126. System.out.println("三角形的周长:"+triangle.getPermie());
  127. System.out.println("三角形的面积:"+triangle.getArea());
  128. }
  129. }

运行结果如下:

  1. 面积是5.0
  2. 圆形周长是18.849555600000002
  3. 圆形面积是56.54866680000001
  4. 三角形的周长:12.0
  5. 三角形的面积:6.0

设计一个程序,程序中有三个类,Triangle,Lader,Circle。的更多相关文章

  1. 设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。

    设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 ...

  2. RobotFramework中加载自定义python包中的library(一个py文件中有多个类)

    结构如下: appsdk\ appsdk.py(这里面有多个类,包括appsdk,appsdksync等类) __init__.py ... ① 有个appsdk的文件夹(符合python包的定义) ...

  3. 设计一个用于人事管理的People(人员)类

    #include <iostream> #include <string> using namespace std; class Date //日期类 { private: i ...

  4. 一个java文件中有几个类,编译后有几个class文件?

    在一个源文件中用class关键字定义了几个类,编译的时候就会产生几个字节码文件

  5. 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串

    关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串  实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来 ...

  6. shell脚本,通过一个shell程序计算n的阶乘。

    [root@localhost ~]# cat jiechen.sh #!/bin/bash #设计一个shell程序计算n的阶乘,要求: #.从命令行接收参数n; #.在程序开始后立即判断n的合法性 ...

  7. Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。

    #29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...

  8. Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。

    题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...

  9. 设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用

    ,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list()           测试此抽象路径名表示的 ...

随机推荐

  1. Linux 第04天

    Linux 第04天 1.系统设置工具(网络和打印机)和硬件检测 1.1 setup工具 1.1.1 用户身份验证设置 1.1.2 网络配置 1.1.3 防火墙设置 1.1.4 键盘形式设置 1.1. ...

  2. (转)Java集合框架:HashMap

    来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details/50912762 Java集合框架概述 Java集合框架无论是在工作.学习.面试中都 ...

  3. BZOJ 2844 albus就是要第一个出场 ——高斯消元 线性基

    [题目分析] 高斯消元求线性基. 题目本身不难,但是两种维护线性基的方法引起了我的思考. void gauss(){ k=n; F(i,1,n){ F(j,i+1,n) if (a[j]>a[i ...

  4. Android源码目录结构详解(转载)

    转自:http://blog.csdn.net/xiangjai/article/details/9012387 在学习Android的过程中,学习写应用还好,一开始不用管太多代码,直接调用函数就可以 ...

  5. Android自动化测试 - Robotium之re-sign.jar重签名后安装失败提示Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]解决方案

    问题:在用re-sign.jar重签名apk文件后,显示重签名成功,但在实际安装过程中确提示:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 原因:网上查 ...

  6. Python for Infomatics 第12章 网络编程五(译)

    注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.8 用urllib读取二进 ...

  7. 如何解决Linux下通过root无法远程登录

    解决问题 1.确认ssh服务已安装,通过普通用户连接成功: 2.确认ssh配置是否对root进行特殊设置,修改/etc/ssh/sshd_config文件中 PermitRootLogin witho ...

  8. 【Alpha】Daily Scrum Meeting第三次

    本次随笔调换了展示顺序,把重要的内容放前面. 一.本次Daily Scrum Meeting主要内容 说明要完成alpha版本还需要哪些功能 对这些功能进行分析和实现方式的讨论 强调编码规范和变量命名 ...

  9. secureCRT中文乱码问题

    #vim /etc/sysconfig/i18n将LANG="EN_US.UTF-8"改成LANG="zh_CN.UTF-8"重新登录后生效#local查看是否 ...

  10. BSBuDeJie_01

    一. 基本配置 1 项目图标 将图片直接拖入Assets-AppIcon 2 启动图片     3 软件名称   4 删除Main.stroryboard   5 设置窗口的根控制器 - (BOOL) ...