JAVA复习-接口

该博客介绍了一个接口IComVolume的定义,该接口用于计算几何形状的体积。Cylinder类实现了该接口,用于表示圆柱体并计算其体积,而Block类则实现了接口来表示长方体并计算其体积。在main方法中,程序读取用户输入的图形类型(圆柱或长方体)及相应尺寸,然后根据输入创建相应的对象并输出其体积。
摘要由CSDN通过智能技术生成

Description
先定义一个接口IComVolume,有一个方computeVolume,有一 个常量PI为3.14。
然后定义一个实现该接口的圆柱体Cylinder类,有double类型的半径和高两个属性。
再定义一一个实现该接口的长方体Block类,有double类型的长和宽、高三个属性。
要求main方法中至少包含如下代码(这些语句不要求必须放在一起) :
IComVolume icv;
icv=new Cylinder(r,h) ;
icv=new Block(a,b,C) ;
icv . computeVolume () ;
Input
第一行输入数据的组数N,然后有N组数据。每组数据由-一个字符 和几个浮点数组成,第一个是图形 类型,c表示Cylinder. b表示
Block;如果前面是c,后面跟两个浮点,分别为圆柱底半径和高;如果是b后面跟三个浮点,分别为长宽高。
Output
图形类型及其体积(精度保留2位)。
在这里插入图片描述

package CLASSlei;

import java.io.InputStream;
import java.util.Scanner;

interface IComVolume{
    public static final double PI=3.14;
    public double computeVolume();
}

class Cylinders implements IComVolume{
    double r;
    double h;

    public Cylinders(double r,double h){
        this.r=r;
        this.h=h;
    }

    public double computeVolume(){
        return (IComVolume.PI*r*r*h);
    }
}
class block implements IComVolume{
        double a;
        double b;
        double c;

       public block(double a,double b,double c){
         this.a=a;
         this.b=b;
         this.c=c;
        }

       public double computeVolume(){
           return a*b*c;
        }
}
public class I {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();

        while (n!=0){
            n--;
            String s=input.next();
            char c=s.charAt(0);

            if(c=='c'){
                double r=input.nextDouble();
                double h=input.nextDouble();
                Cylinders s1=new Cylinders(r,h);
                System.out.printf("Cylinder:%.2f\n",s1.computeVolume());
            }
            else if(c=='b'){
                double a=input.nextDouble();
                double b=input.nextDouble();
                double x=input.nextDouble();
                block s2=new block(a,b,x);
                System.out.printf("Block:%.2f\n",s2.computeVolume());
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值