-->
当前位置:首页 > 题库 > 正文内容

程序填空题:矩形类

Luz2年前 (2022-11-10)题库1228
构造一个Rectangle类表示矩形 , 该类实现了Comparable接口。

* 该类有两个私有的double型成员变量width和height,表示矩形的宽度和高度;
* 该类有一个带一个无参的构造方法,把宽带和高度都初始化为0;
* 该类有一个带两个double型参数的构造方法,用参数的值初始化矩形的宽度和高度。
* 为width和height添加getter()和setter()方法。注意,宽度和高度必须大于等于0,如果setWidth(double width)方法的参数小于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"矩形的宽度必须大于等于0";setHeight(double height)方法的参数小于0时,抛出一个IllegalArgumentException异常对象,异常对象的成员变量message为"矩形的高度必须大于等于0"。
* getArea()方法,返回矩形的面积;
* getgetPerimeter()方法,返回矩形的周长;
* 该类有一个公共的方法int compareTo(Rectangle rectangle),比较当前对象和参数。如果当前对象的面积大于参数的面积,返回1;当前对象的面积小于参数的面积,返回-1;否则返回0。
* 该类有一个公共方法toString(),根据矩形的宽度和高度生成并返回一个字符串(具体要求看输出样例)。

构造一个Main ,执行一个for循环,共循环6次。每次循环从键盘读入数据创建两个矩形对象,比较并输出其中较大的对象的面积;如果捕捉到异常,则输出异常信息。

c++


public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
for(int i=0; i<6; i++) {
{
Rectangle rectangle1 = new Rectangle(input.nextDouble(), input.nextDouble());
Rectangle rectangle2 = new Rectangle(input.nextDouble(), input.nextDouble());

if (rectangle1.(rectangle2)>= 0)

else

System.out.println("The max area of " + rectangle1 + " and " + rectangle2 + " is " + maxRectangle.getArea());
} (IllegalArgumentException e1) {
System.out.println(e1.getMessage());
input.nextLine();
} catch (Exception e2) {
System.out.println(e2.getMessage());
input.nextLine();
}
}
}
}

class Rectangle {
private double width;
private double height;

public () {
width=0;
height=0;
}

public Rectangle(double width, double height) {
(width);
(height);
}

public double getWidth() {
return width;
}

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

}

public double getHeight() {
return height;
}

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

}

public double getArea() {

}

public double getPerimeter() {

}

public int compareTo(Rectangle rectangle) {
if ()
return 1;
else if ()
return -1;
else
return 0;
}

public String toString() {
return
}
}







答案:
第1空:import java.util.Scanner;

第2空:try

第3空:Rectangle maxRectangle;

第4空:compareTo

第5空:maxRectangle = rectangle1;

第6空:maxRectangle = rectangle2;

第7空:catch

第8空:implements Comparable<Rectangle>

第9空:Rectangle

第10空:setWidth

第11空:setHeight

第12空:width >= 0

第13空:throw new IllegalArgumentException("矩形的宽度必须大于等于0");

第14空:height >= 0

第15空:throw new IllegalArgumentException("矩形的高度必须大于等于0");

第16空:return width * height;

第17空:return 2 * (width + height);

第18空:getArea() > rectangle.getArea()

第19空:getArea() < rectangle.getArea()

第20空:"Rectangle(width:" + width + ",height:" +height + ")";

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。