常州工学院Java作业03

任务描述

本关任务:判断梨类、苹果类和水果类的关系,并通过对象类型转换调用彼此的属性和方法。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,在 Begin-End 中判断梨类、苹果类和水果类的关系,并通过对象类型转换调用彼此的属性和方法,具体要求如下:

依次判断 f、a、p 是否为 Fruits 的子类对象;

把梨类对象赋值给水果类,其中 name 值为 bigPear,颜色为 green;

输出当前水果类引用的名称;

依次判断当前水果类引用是否为水果类和梨类的子类;

将当前水果类引用强转为梨类;

输出当前梨类的颜色。

/**
 * 判断梨类、苹果类和水果类的关系,并通过对象类型转换调用彼此的属性和方法。
 */

class Fruits 
{
    public String name; // 定义水果名称
Fruits (String name)
 {
        this.name = name;
    }
}

// 苹果类继承水果类
class Apple extends Fruits 
{
    public String acolor; // 苹果颜色

public Apple(String name, String acolor) 
{
        super(name);
        this.acolor = acolor;
    }
}

// 梨类继承水果类
class Pear extends Fruits
{
    public String pcolor; // 梨的颜色

public Pear(String name, String pcolor) 
{
        super(name);
        this.pcolor = pcolor;
    }
}

public class Tests 
{
public static void main(String args[]) 
{
        Fruits f = new Fruits("水果");
        Apple a = new Apple("苹果","red");
        Pear p = new Pear(";梨","yellow");
        // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
        /********* Begin *********/
        // 依次判断 f、a、p是否为 Fruits的子类对象
        	System.out.println(f instanceof Fruits);
        	System.out.println(a instanceof Fruits);
        	System.out.println(p instanceof Fruits);
        // 把梨类对象赋值给水果类,其中name值为bigPear,颜色为green
        	Fruits bp=new Pear("bigPear","green");
        // 输出当前水果类引用的名称
        	System.out.println(bp.name);
        // 依次判断当前水果类引用是否为水果类和梨类的子类
        	System.out.println(bp instanceof Fruits);
        	System.out.println(bp instanceof Pear);
        // 将当前水果类引用强转为梨类
        	Pear x=(Pear) bp;
        // 输出当前梨类的颜色
        	System.out.println(x.pcolor);
        /********** End **********/
    }
}

2.

任务描述

本关任务:定义 Person 类和 Student 类,分别实现定义各自基本属性的功能。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。

/*
* 定义 Person 类和 Student 类,分别实现定义各自基本属性的功能。
 */
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码

/********* Begin *********/
// 声明一个名为Person的类,里面有name与age两个属性,分别为String和int型,并声明一个含有两个参数的构造方法

 class Person 
{
    public String name ;
    public int age ;

public Person(String name,int age)
{
    	this.name=name;
   	 	this.age=age;
    }
}

public class Student extends Person 
{
     String school ;
     public Student(String name,int age,String school)
{
        super(name,age);
        this.school=school;
     }
}
// 声明一个名为Student的类,此类继承自Person类,添加一个属性school,字符串类型

// 在子类的有参构造方法中调用父类中有两个参数的构造方法
/********** End **********/

3.

任务描述

本关任务:计算球的表面积。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。

/**
 * 重写 Shape 中的 area 方法,计算球的表面积。
 */
 
class Shape {
    private double r; //球的半径
    // 球的体积
    public double area(){
        double s = (double)3/4*Math.PI*Math.pow(r,3);
        return s;
    }
}
 
public class Sphere extends Shape{
 
    private double r; //球的半径
    
    public Sphere(double r) {
        this.r = r;
    }
    // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
    /********* Begin *********/
    // 重写 Shape 中的 area 方法,计算球的表面积,将计算结果返回
    public double area(){
        double s = (double)4*Math.PI*Math.pow(r,2);
        return s;
    }
    
    /********** End **********/
}

4.

任务描述

本关任务:使用 instanceof 运算符判断所给对象是否为特定类的一个实例,并输出判断结果。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。

/**
 * 任务:使用 instanceof 运算符判断所给对象是否为特定类的一个实例,并输出判断结果。
 */
 
public class Demo {
    public static void main(String[] args){
        // 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
        /********** Begin **********/
        Object hello = "Hello";
        // 判断hello是否是Object类的实例
        if(hello instanceof Object)
        System.out.println("true");
        else
        System.out.println("false");
        if(hello instanceof String)
        System.out.println("true");
        else
        System.out.println("false");
        if(hello instanceof Math)
        System.out.println("true");
        else
        System.out.println("false");
 
        // 判断hello是否是String类的实例
 
        // 判断hello是否是Math类的实例
 
        // 判断a是否是Object类的实例
        String a = "hello";
        if(a  instanceof Object)
        System.out.println("true");
        else
        System.out.println("false");
    }
}

5.

任务描述

本关任务:定义一个矩形 Rectangle 类和 三角形 Triangle 类,都继承 Shape 类,在这两个类中分别定义 一个名为 area 的方法,实现计算该形状面积的功能(Shape 类已经定义完成,可以在 Shape.java 文件查看相应代码)。

编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

要求:在各自的文件中完成相应的类,点击右侧的代码文件可以文件的替换。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。 可在右侧“测试结果”区查看具体的测试集详情。

①
/**
 * 任务:定义一个矩形 Rectangle 类,继承 Shape 类,
 * 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。
 * 类名为:Rectangle
 */
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个Rectangle的公开类,并继承Shape类
// 定义一个area方法,实现计算矩形面积的功能。
public class Rectangle extends Shape
{
    public double area()
    {
return getHeight()*getWidth();
    }
}
 
/********** End **********/

②
/**
 * 任务:定义一个三角形 Triangle 类,继承 Shape 类,
 * 在这个类中分别定义一个名为 area 的方法,实现计算该形状面积的功能。
 * 类名为:Triangle
 */
 
// 请在下面的Begin-End之间按照注释中给出的提示编写正确的代码
/********** Begin **********/
// 定义一个Triangle的公开类,并继承Shape类
// 定义一个area方法,实现计算三角形面积的功能。
public class Triangle extends Shape
{
    public double area()
    {
       return 0.5*getHeight()*getWidth();
    }
}

/********** End **********/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值