首页 > 技术文章 > Java----Java实现求图形的面积和、周长和

jin0622 2020-10-24 19:22 原文

输出一组图形的面积和、周长和,其中图形具备以下特征:

圆形:半径;

正方形形:边长;

三角形:三条边长;

输出内容如图:

 

代码演示(脚写的):

package tuxing;

import java.math.BigDecimal;

class cycle{
    double r;
    double pi=3.141592653589793;
    public cycle(double r){

        this.r=r;

    }
    public double c_Cycle(){

       return 2*pi*r;
    }
    public double s_Cycle(){

       return pi*r*r;
    }
    public void showInfo(){
       System.out.println("圆形 "+"半径为:"+r+"周长为:"+c_Cycle()+"面积为:"+s_Cycle());
    }
}
class square{
    int l;
    public square(int l){
        this.l=l;
    }
    public double c_Square(){
        double c;
        c=4*l;
        BigDecimal bd=new BigDecimal(c);
        c=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
        return c;
    }
    public double s_Square(){
        double s;
        s=l*l;
        BigDecimal bd=new BigDecimal(s);
        s=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
        return s;
    }
    public void showInfo(){
        System.out.println("正方形 "+"边长:"+l+"周长为:"+c_Square()+"面积为:"+s_Square());
    }

}
class triangle{
    int l1;
    int l2;
    int l3;
    public triangle(int l1,int l2,int l3){

            this.l1=l1;
            this.l2=l2;
            this.l3=l3;


    }
    public double s_Triangle(){
        double p=c_Triangle()/2;
        double answer=Math.sqrt(p*(p-l1)*(p-l2)*(p-l3));
        BigDecimal bd=new BigDecimal(answer);
        answer=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
        return answer;
    }
    public double c_Triangle(){
        double answer=l1+l2+l3;
        BigDecimal bd =new BigDecimal(answer);
        answer=bd.setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();
        return answer;
    }
    public void showInfo(){
        if(l1+l2>l3&&l1-l2<l3)
        System.out.println("三角形 "+"三边长分别为:"+l1+","+l2+","+l3+","+"周长为:"+c_Triangle()+"面积为:"+s_Triangle());
        else
            System.out.println("Error Triangle");
    }
}
public class Test {
    public static void main(String[] args){
        System.out.println("所有图形:");
        cycle c1 =new cycle(5);
        c1.showInfo();
        square s2=new square(4);
        s2.showInfo();
        square s3=new square(5);
        s3.showInfo();

        triangle t4=new triangle(3,4,5);
        t4.showInfo();
        double c_sum;
        double s_sum;
        c_sum=c1.c_Cycle()+s2.c_Square()+s3.c_Square()+ t4.c_Triangle();
        s_sum= c1.s_Cycle()+s2.s_Square()+ s3.s_Square()+ t4.s_Triangle();
        System.out.println("周长和为:"+c_sum);
        System.out.println("面积和为"+s_sum);

    }
}

 

 

推荐阅读