题干
设计一个名为Rectangle的类表示矩形,这个类包括:
(1)两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1。
(2)创建默认矩形的无参构造方法。
(3)一个创建width和height为指定值的矩形的构造方法。
(4)一个名为getArea()的方法返回这个矩形的面积。
(5)一个名为getPerimeter()的方法返回周长。
要求:定义一个Rectangle类的对象,其长和宽由用户通过键盘输入,输出该对象的长、宽、面积和周长,输入输出格式如下:
代码如下
import java.util.Scanner;
public class Rectangle { private double width; private double height;
public Rectangle() {
width = 1;
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 static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double width = scanner.nextDouble();
double height = scanner.nextDouble();
Rectangle rectangle = new Rectangle(width, height);
System.out.println("宽为" + rectangle.width);
System.out.println("高为" + rectangle.height);
System.out.println("面积为" + rectangle.getArea());
System.out.println("周长为" + rectangle.getPerimeter());
}
}
总结
1.double rectangle = new Rectangle(width, height);
这一行是不正确的,因为您试图将一个 Rectangle
对象赋值给一个 double
类型的变量,这显然是类型不匹配的。new Rectangle(width, height)
创建了一个 Rectangle
类型的对象,而您需要一个 Rectangle
类型的变量来引用它。