本文最后更新于2020年11月2日,已超过 3 个月没更新!

JAVA程序设计基础作业三

1、编写输出球体、立方体、圆柱体体积java源程序:

有一个抽象类ObjectVolume,如下所示:

abstract class ObjectVolume

{

abstract double getVolume(); //返回物体的体积

}

(1)编写球体类,立方体类和圆柱体类,它们是抽象类ObjectVolume的子类。

(2)编写一个公共类,其中包含main方法和static void get(ObjectVolume obj)方法。

(3)在main方法中,从键盘上输入1(表示球体)、2(表示立方体)、3(表示圆柱体)时,调用get方法可以分别得到球体、立方体、圆柱体的体积。

package javawork;
import java.util.*;

abstract class ObjectVolume
{
    abstract double getVolume(); //返回物体的体积
}

class Sphere extends ObjectVolume //球体子类
{
    double Radius;
    public double getVolume() 
    {
        return 4*Math.PI*Radius*Radius*Radius/3;
    }
    public Sphere(double r)
    {
        this.Radius=r;
    }
}

class Cube extends ObjectVolume  // 立方体子类
{
    double cubelength;
    public double getVolume() 
    {
        return cubelength*cubelength*cubelength;
    }
    public Cube(double l)
    {
        this.cubelength=l;
    }
}

class Cylinder extends ObjectVolume //圆柱体子类
{
    double h;
    double r;
    double getVolume() {
        return Math.PI*r*r*h;
    }
    public Cylinder(double r2, double h2) 
    {
        this.h=h2;
        this.r=r2;
    }
}

public class Volume {
    static void get(ObjectVolume obj)
    {
        double v=obj.getVolume();
        System.out.printf("体积为:%.2f",v);
    }
    static void outSphereVolume()  //输出球的体积
    {
        Scanner sca=new Scanner(System.in);
        System.out.println("请输入球半径:");
        double r1=sca.nextDouble();
        Sphere obj= new Sphere(r1);
        get(obj);
    }
    static void outCubeVolume()  //输出立方体的体积
    {
        Scanner sca2=new Scanner(System.in);
        System.out.println("请输入立方体边长:");
        double l1=sca2.nextDouble();
        Cube obj= new Cube(l1);
        get(obj);
    }
    static void outCylinderVolume()  //输出圆柱的体积
    {
        Scanner sca3=new Scanner(System.in);
        System.out.println("请输入圆柱的底面半径和高:");
        double r2=sca3.nextDouble();
        double h2=sca3.nextDouble();
        Cylinder obj= new Cylinder(r2,h2);
        get(obj);
    }
    public static void main(String[] args) {
        System.out.println("请输入整数(1表示球体,2表示立方体,3表示圆柱体):");
        Scanner sc=new Scanner(System.in);
        int num=sc.nextInt();
        switch(num)
        {
        case 1:
            outSphereVolume(); break;
        case 2:
            outCubeVolume();break;
        case 3:
            outCylinderVolume();break;
        }
    }
}

2、计算商品销售总额java源程序:

有一个接口UnitPrice,如下所示:

interface UnitPrice

{

public double unitprice( ); //返回商品的单价

}

(1)编写电视机类、计算机类和手机类来实现接口UnitPrice。

(2)编写一个公共类,其中包含main方法和static double get(UnitPrice u)方法。

(3)在main方法中,从键盘上输入电视、计算机和手机的销售个数,调用get方法可以分别得到商店各个商品的单价,之后计算商品的总销售额。

package javawork;
import java.util.*;

interface UnitPrice
{
   public double unitprice( ); //返回商品的单价
}

class TV implements UnitPrice  //电视类
{
    public double unitprice() {
        return 5000;
    }
}

class PC implements UnitPrice  //计算机类
{
    public double unitprice() {
        return 6000;
    }
}

class Phone implements UnitPrice  //手机类
{
    public double unitprice() {
        return 3000;
    }
}

public class Price {  //主类

    static double get(UnitPrice u)  //获得单价
    {
        double pric=u.unitprice();
        return pric;
    }

    public static void main(String[] args) {
        System.out.println("请分别输入本月电视、计算机、手机的销售个数:");
        Scanner sc=new Scanner(System.in);
        int tvnum=sc.nextInt();
        int pcnum=sc.nextInt();
        int phonenum=sc.nextInt();
        TV tv=new TV();
        PC pc=new PC();
        Phone phone=new Phone();
        double sumprice=tvnum*get(tv)+pcnum*get(pc)+phonenum*get(phone);
        System.out.println("总销售额:"+sumprice);
    }

}

程序仅作参考


疏影横斜水清浅,暗香浮动月黄昏