程序填空题:矩形类
构造一个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 + ")";
* 该类有两个私有的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 + ")";