//此程序写出三个类,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。的更多相关文章

  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. 用C#通过正则表达式截取字符串中符合条件的子字符串

    仅仅作为简单的记录,不多说直接上代码(仅测试使用): private void Test() { Regex ConnoteA = new Regex("^[a-zA-Z]\\d{8}$&q ...

  2. Monitoring Processes with Supervisord

    If you're interested in more of this type of content, check out the Servers for Hackers eBook! As so ...

  3. EasyAR 开发教程系列1--小试牛刀

    大家好,我是Albert Lee(@Mars Studio),AR独立开发者.计算机视觉与人工智能研究者. AR 开发资源汇总(不断更新中):https://github.com/GeekLiB 微信 ...

  4. python 异常

    引用一段来自菜鸟教程的文章:http://www.runoob.com/python/python-exceptions.html Python 异常处理 python提供了两个非常重要的功能来处理p ...

  5. Nginx二级域名及多Server反向代理配置

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 注:nginx反向代理同一ip多个域名,给head ...

  6. js实现找质因数

    实现最一个整数的质因数的拆分,例如:90可以才分为2*3*3*5,具体代码如下: <script> var num = prompt('请输入一个整数:','90'); var regex ...

  7. Connect the Cities[HDU3371]

    Connect the Cities Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...

  8. Android 进程常驻(使用第三方MarsDaemon)(虽然不可用,但是还是保留下。)

    github地址: https://github.com/Marswin/MarsDaemon 原理分析: Android 进程常驻(0)----MarsDaemon使用说明 Android 进程常驻 ...

  9. scrapy爬虫笔记(一)------环境配置

    前言: 本系列文章是对爬虫的简单介绍,以及教你如何用简单的方法爬取网站上的内容. 需要阅读者对html语言及python语言有基本的了解. (本系列文章也是我在学习爬虫过程中的学习笔记,随着学习的深入 ...

  10. 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下+spm一点意外收获

    很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录,不是我原创,放到收藏夹还担心不够,这个以后常用,想来想去,还是放到这里吧,,丢不了..最后一句废话,网上搜集也好原创也罢,能解 ...