【Java语言程序设计(基础篇)第10版 练习题答案】Practice_9_1

时间:2023-02-24 00:08:40

(矩形类 Rectangle)遵照9.2节中 Circle 类的例子,设计一个名为 Rectangle 的类表示矩形。
这个类包括:

  • 两个名为 width 和 height 的 double 型数据域,它们分别表示矩形的宽和高。width 和 height 的默认值都为1。
  • 创建默认矩形的无参构造方法。
  • 一个创建 width 和 height 为指定值的矩形的构造方法。
  • 一个名为 getArea() 的方法返回这个矩形的面积。
  • 一个名为 getPerimeter() 的方法返回周长。

    画出该矩形的 UML 图并实现这个类。编写一个测试程序,创建两个 Rectangle 对象——一个矩形的宽为 4 而高为 40,另一个矩形的宽为 3.5 而高为 35.9 。按照这个顺序显示每个矩形的宽、高、面积、周长。

public class Practice_9_1 {

public static void main(String[] args) {

Rectangle rectangle1 = new Rectangle(4, 40);
Rectangle rectangle2 = new Rectangle(3.5, 35.9);

System.out.println("rectangle1:");
System.out.println("width: " + rectangle1.width + "\theight: " + rectangle1.height +
"\tarea: " + rectangle1.getArea() + "\tperimeter: " + rectangle1.getPerimeter());

System.out.println("rectangle2:");
System.out.println("width: " + rectangle2.width + "\theight: " + rectangle2.height +
"\tarea: " + rectangle2.getArea() + "\tperimeter: " + rectangle2.getPerimeter());
}

}

class Rectangle {

double width = 1;
double height = 1;

public Rectangle() {
}

public Rectangle(double newWidth, double newHeight) {
width = newWidth;
height = newHeight;
}

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

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

}

输出结果为:

rectangle1:
width: 4.0 height: 40.0 area: 160.0 perimeter: 88.0
rectangle2:
width: 3.5 height: 35.9 area: 125.64999999999999 perimeter: 78.8