设计Rectangle类表示矩形

题目要求我们设计一个名为Rectangle的类表示矩形,并且提供一些方法来计算矩形的面积和周长。下面介绍如何设计这个类。

首先,矩形有两个属性,即宽和高,因此我们需要定义两个double类型的数据域来分别表示矩形的宽和高。同时,这两个数据域的默认值都为1,因此需要提供一个无参构造方法来创建默认矩形。此外,我们还需要提供一个有参构造方法来创建指定宽和高的矩形。

其次,我们需要提供两个方法来计算矩形的面积和周长。计算矩形的面积很简单,只需要将矩形的宽和高相乘即可;计算矩形的周长也很简单,只需要将矩形的宽和高相加,然后乘以2即可。

最后,我们需要编写一个测试程序来测试Rectangle类的功能。测试程序需要从标准输入中读取两个矩形的宽和高,然后创建两个Rectangle对象,并按照顺序显示每个矩形的宽、高、面积和周长。

完整的Rectangle类和测试程序实现如下:

Rectangle类实现

public class Rectangle {
    private double width;
    private double height;

    public Rectangle() {
        this.width = 1;
        this.height = 1;
    }

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double getArea() {
        return width * height;
    }

    public double getPerimeter() {
        return 2 * (width + height);
    }

    public double getWidth() {
        return width;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }
}

测试程序实现

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        double width1 = scanner.nextDouble();
        double height1 = scanner.nextDouble();
        Rectangle rectangle1 = new Rectangle(width1, height1);
        System.out.printf("%.1f %.1f %.1f %.1f\n", rectangle1.getWidth(), rectangle1.getHeight(), rectangle1.getArea(), rectangle1.getPerimeter());

        double width2 = scanner.nextDouble();
        double height2 = scanner.nextDouble();
        Rectangle rectangle2 = new Rectangle(width2, height2);
        System.out.printf("%.1f %.1f %.1f %.1f\n", rectangle2.getWidth(), rectangle2.getHeight(), rectangle2.getArea(), rectangle2.getPerimeter());
    }
}

测试程序首先从标准输入中读取两个矩形的宽和高,然后创建两个Rectangle对象,并按照顺序显示每个矩形的宽、高、面积和周长。注意,将浮点数输出时需要指定保留小数点后一位,因此使用了%.1f格式化字符串来输出浮点数。

总结

本文介绍了如何设计一个名为Rectangle的类来表示矩形,并提供一些方法来计算矩形的面积和周长。同时,还编写了一个测试程序来测试Rectangle类的功能。这个例子展示了如何使用面向对象的思想来设计类和方法,以及如何使用Java语言来实现类和方法的具体实现。

你可能感兴趣的:(java,jvm,算法)