设计一个程序,程序中有三个类,Triangle,Lader,Circle。
- //此程序写出三个类,triangle,lader,circle;其中triangle类具有类型为double的a,b,c边以及周长,面积属性,
- //具有周长,面积以及修改三边的功能,还有判断能否构成三角形的boolean类。
- //lader类具有类型为double的上底下底和高,面积属性,具有返回面积的功能
- //circlle 类具有类型为double的半径,周长和面积。具有返回周长面积的功能
- //Lader类
- class Lader {
- double shangDi; //上底
- double xiaDi; //下底
- double heigth; //高
- double area; //面积
- //下面是构造方法
- public Lader(double shangDi,double xiaDi,double heigth){
- this.shangDi=shangDi;
- this.xiaDi=xiaDi;
- this.heigth=heigth;
- }
- //下面是求面积
- public double getArea(){
- return (shangDi+xiaDi)*heigth/2;
- }
- }
- //Circle类
- class Circle{
- double r; //半径
- double l; //周长
- double area; //面积
- public static final double PI=3.1415926;
- //下面是构造方法
- public Circle(double r){
- this.r=r;
- }
- //得到周长
- public double getL(){
- return 2*PI*r;
- }
- //得到面积
- public double getArea(){
- return 2*PI*r*r;
- }
- }
- public class Triangle
- {
- //size1,size2,size3分别是三角形的三条边
- private double size1;
- private double size2;
- private double size3;
- private boolean isTriangle;
- //下面构造方法
- public Triangle(double size1, double size2, double size3) {
- this.size1 = size1;
- this.size2 = size2;
- this.size3 = size3;
- isTriangle=triangle();
- }
- //判断是否能构造三角形
- private boolean triangle()
- {
- if((size1+size2>size3)&&
- (size1+size3>size2)&&
- (size2+size3>size1)&&
- (size1-size2<size3)&&
- (size1-size3<size2)&&
- size2-size3<size1)
- return true;
- return false;
- }
- //下面是得到三边长
- public double getSize1() {
- return size1;
- }
- public void setSize1(double size1) {
- this.size1 = size1;
- }
- public double getSize2() {
- return size2;
- }
- public void setSize2(double size2) {
- this.size2 = size2;
- }
- public double getSize3() {
- return size3;
- }
- public void setSize3(double size3) {
- this.size3 = size3;
- }
- public boolean isTriangle() {
- return isTriangle;
- }
- public void setTriangle(boolean isTriangle) {
- this.isTriangle = isTriangle;
- }
- //得到面积
- public double getArea() {
- if(isTriangle)
- {
- double c=getPermie()/2;
- return Math.sqrt(c*(c-size1)*(c-size2)*(c-size3));
- }
- throw new IllegalArgumentException("三边不能构成上三角形!");
- }
- //得到周长
- public double getPermie() {
- if(isTriangle)
- return size1+size2+size3;
- throw new IllegalArgumentException("三边不能构成上三角行!");
- }
- public static void main(String[] args)
- {
- Triangle triangle=new Triangle(3, 4, 5);
- Lader lader = new Lader(2.00,3.00,2.00); //三个参数分别是上底 下底 高
- Circle circle = new Circle(3.00); //参数是圆的半径
- System.out.println("面积是"+lader.getArea());
- System.out.println("圆形周长是"+circle.getL());
- System.out.println("圆形面积是"+circle.getArea());
- System.out.println("三角形的周长:"+triangle.getPermie());
- System.out.println("三角形的面积:"+triangle.getArea());
- }
- }
运行结果如下:
- 面积是5.0
- 圆形周长是18.849555600000002
- 圆形面积是56.54866680000001
- 三角形的周长:12.0
- 三角形的面积:6.0
设计一个程序,程序中有三个类,Triangle,Lader,Circle。的更多相关文章
- 设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。
设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”,则抛出一个异常信息“This is a XYZ”,如果从命令行输入 ABC,则没有抛出异常.(只有 ...
- RobotFramework中加载自定义python包中的library(一个py文件中有多个类)
结构如下: appsdk\ appsdk.py(这里面有多个类,包括appsdk,appsdksync等类) __init__.py ... ① 有个appsdk的文件夹(符合python包的定义) ...
- 设计一个用于人事管理的People(人员)类
#include <iostream> #include <string> using namespace std; class Date //日期类 { private: i ...
- 一个java文件中有几个类,编译后有几个class文件?
在一个源文件中用class关键字定义了几个类,编译的时候就会产生几个字节码文件
- 字符串混淆技术应用 设计一个字符串混淆程序 可混淆.NET程序集中的字符串
关于字符串的研究,目前已经有两篇. 原理篇:字符串混淆技术在.NET程序保护中的应用及如何解密被混淆的字符串 实践篇:字符串反混淆实战 Dotfuscator 4.9 字符串加密技术应对策略 今天来 ...
- shell脚本,通过一个shell程序计算n的阶乘。
[root@localhost ~]# cat jiechen.sh #!/bin/bash #设计一个shell程序计算n的阶乘,要求: #.从命令行接收参数n; #.在程序开始后立即判断n的合法性 ...
- Java基础-继承-编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight。小车类Car是Vehicle的子类,其中包含的属性有载人数 loader。卡车类Truck是Car类的子类,其中包含的属性有载重量payload。每个 类都有构造方法和输出相关数据的方法。最后,写一个测试类来测试这些类的功 能。
#29.编写一个Java应用程序,设计一个汽车类Vehicle,包含的属性有车轮个数 wheels和车重weight.小车类Car是Vehicle的子类,其中包含的属性有载人数 loader.卡车类T ...
- Java连接MySQL数据库。编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计。
题目2:编写一个应用程序,在主类Test_4类中,通过JDBC访问stu数据库,显示t_student表中的内容(表结构见表1),显示效果自己设计.之后,可根据显示的内容进行某条记录的删除(以id为条 ...
- 设计一个程序能够将某一个目录下面的所有文件名打印出来---File类的使用
,设计一个程序能够将某一个目录下面的所有文件名打印出来 运用到的方法有:返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录:list() 测试此抽象路径名表示的 ...
随机推荐
- Linux 第04天
Linux 第04天 1.系统设置工具(网络和打印机)和硬件检测 1.1 setup工具 1.1.1 用户身份验证设置 1.1.2 网络配置 1.1.3 防火墙设置 1.1.4 键盘形式设置 1.1. ...
- (转)Java集合框架:HashMap
来源:朱小厮 链接:http://blog.csdn.net/u013256816/article/details/50912762 Java集合框架概述 Java集合框架无论是在工作.学习.面试中都 ...
- BZOJ 2844 albus就是要第一个出场 ——高斯消元 线性基
[题目分析] 高斯消元求线性基. 题目本身不难,但是两种维护线性基的方法引起了我的思考. void gauss(){ k=n; F(i,1,n){ F(j,i+1,n) if (a[j]>a[i ...
- Android源码目录结构详解(转载)
转自:http://blog.csdn.net/xiangjai/article/details/9012387 在学习Android的过程中,学习写应用还好,一开始不用管太多代码,直接调用函数就可以 ...
- Android自动化测试 - Robotium之re-sign.jar重签名后安装失败提示Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]解决方案
问题:在用re-sign.jar重签名apk文件后,显示重签名成功,但在实际安装过程中确提示:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 原因:网上查 ...
- Python for Infomatics 第12章 网络编程五(译)
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 12.8 用urllib读取二进 ...
- 如何解决Linux下通过root无法远程登录
解决问题 1.确认ssh服务已安装,通过普通用户连接成功: 2.确认ssh配置是否对root进行特殊设置,修改/etc/ssh/sshd_config文件中 PermitRootLogin witho ...
- 【Alpha】Daily Scrum Meeting第三次
本次随笔调换了展示顺序,把重要的内容放前面. 一.本次Daily Scrum Meeting主要内容 说明要完成alpha版本还需要哪些功能 对这些功能进行分析和实现方式的讨论 强调编码规范和变量命名 ...
- secureCRT中文乱码问题
#vim /etc/sysconfig/i18n将LANG="EN_US.UTF-8"改成LANG="zh_CN.UTF-8"重新登录后生效#local查看是否 ...
- BSBuDeJie_01
一. 基本配置 1 项目图标 将图片直接拖入Assets-AppIcon 2 启动图片 3 软件名称 4 删除Main.stroryboard 5 设置窗口的根控制器 - (BOOL) ...