PTA:6-1 sdut-oop-7 计算长方体的体积与质量(类和对象)

现根据长方体的长、宽、高、密度,求其底面周长、底面积、体积、质量。

若长、宽、高、密度之一有数据为0或者负数,则不能构成长方体,输出的值均为0。

补充完整如下类的定义:

class Cuboid{    
    double x, y, z; //长、宽、高
    double p;  //密度
    public Cuboid(double x, double y, double z, double p) {
        
    }

    public double length()  //底面周长
    {
        return 0.0;
    }
    
    public double area()  //底面积
    {
        return 0.0;
    }

    public double volumn()  //体积
    {
        return 0.0;
    }
    
     public double weight()  //质量
    {
         return 0.0;
    }    
}

裁判测试程序样例:

import java.util.Scanner;

/* 请在这里填写答案 */

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        double x = in.nextDouble(); 
        double y = in.nextDouble(); 
        double z = in.nextDouble(); 
        double p = in.nextDouble();
        Cuboid cuboid=new Cuboid(x,y,z,p);
        System.out.printf("底面周长:%.2f\n",cuboid.length());
        System.out.printf("底面积:%.2f\n", cuboid.area());
        System.out.printf("体积:%.2f\n", cuboid.volumn());
        System.out.printf("质量:%.2f\n", cuboid.weight());
    }
}

输入样例1:

在这里给出一组输入。例如:

1 2 3 3

输出样例1:

在这里给出相应的输出。例如:

底面周长:6.00
底面积:2.00
体积:6.00
质量:18.00

输入样例2:

在这里给出一组输入。例如:

1 2 3 -3

输出样例2:

在这里给出相应的输出。例如:

底面周长:0.00
底面积:0.00
体积:0.00
质量:0.00

源代码:

class Cuboid{
    double x, y, z; //长、宽、高
    double p;  //密度
    public Cuboid(double x, double y, double z, double p) {
         this.x = x;
         this.y = y;
         this.z = z;
         this.p = p;
    }

    public double length()  //底面周长
    {
        if (f()==false){
            return 0.0;
        }
        return 2*x+2*y;
    }

    public double area()  //底面积
    {
        if (f()==false){
            return 0.0;
        }
        return x*y;
    }

    public double volumn()  //体积
    {
        if (f()==false){
            return 0.0;
        }
        return x*y*z;
    }

    public double weight()  //质量
    {
        if (f()==false){
            return 0.0;
        }
        return p * volumn();
    }
    boolean f(){         //判断是否为负数,为负数为true否则为false
        if(x<=0||y<=0||z<=0||p<=0)
            return false;
        return true;
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值