Java定义矩形类,实例化三个矩形对象,输出各个矩形面积、周长及总个数。考虑到不能输入负数。
时间: 2024-09-26 14:02:41 浏览: 58
在Java中,我们可以定义一个名为Rectangle的类,包含长和宽两个属性以及计算面积和周长的方法。为了防止输入负数,我们在类中添加验证条件。以下是创建这个类以及实例化并操作矩形对象的示例:
```java
public class Rectangle {
private double length;
private double width;
// 构造函数,带验证
public Rectangle(double length, double width) {
if (length > 0 && width > 0) {
this.length = length;
this.width = width;
} else {
throw new IllegalArgumentException("Length and width must be positive.");
}
}
// 计算面积和周长的方法
public double getArea() {
return length * width;
}
public double getPerimeter() {
return 2 * (length + width);
}
@Override
public String toString() {
return "Rectangle[length=" + length + ", width=" + width + "]";
}
}
public class Main {
public static void main(String[] args) {
Rectangle rectangle1 = new Rectangle(5, 4);
Rectangle rectangle2 = new Rectangle(3, 6);
Rectangle rectangle3 = new Rectangle(2, 9); // 这里会抛出异常,因为长度为负
System.out.println("Rectangle 1:");
System.out.println("Area: " + rectangle1.getArea());
System.out.println("Perimeter: " + rectangle1.getPerimeter());
System.out.println("Rectangle 2:");
System.out.println("Area: " + rectangle2.getArea());
System.out.println("Perimeter: " + rectangle2.getPerimeter());
try {
System.out.println("Rectangle 3:");
System.out.println(rectangle3); // 输出将被异常打断
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
System.out.println("\nTotal rectangles: " + 2); // 注意这里我们忽略了无效的矩形3
}
}
```
在这个例子中,我们成功创建了两个有效的矩形对象,并打印出了它们的面积和周长。但是当我们尝试创建第三个负长矩形时,由于验证失败,程序会捕获到`IllegalArgumentException`并输出相应的错误信息。
阅读全文