3. 在一个有x,y轴都坐标系中,用坐标值建立一个长方形,采用下面两种方式来构造: 1〉长方形左上角和右下角坐标; 2〉长方形左上角坐标和长方形的长和高; 然后写出长方形的成员方法: 1〉area() ---返回长方形面积; 2〉perimeter()--返回边长; 3〉print() --输出矩形的属性值; 4〉isSquare() --如果长方形是正方形的话,返回true; 写出一个测试类RectangleTest,在主方法中创建长方形类的对象(用不同构造函数),求出面积、周长并输出显示,并判断是否为正方形 用Java写
时间: 2024-03-25 18:41:55 浏览: 80
好的,以下是Java代码:
```java
public class Rectangle {
private int x1, y1, x2, y2; // 左上角和右下角坐标
private int width, height; // 长和宽
// 构造函数1:传入左上角和右下角坐标
public Rectangle(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.width = x2 - x1;
this.height = y2 - y1;
}
// 构造函数2:传入左上角坐标和长宽
public Rectangle(int x1, int y1, int width, int height) {
this.x1 = x1;
this.y1 = y1;
this.width = width;
this.height = height;
this.x2 = x1 + width;
this.y2 = y1 + height;
}
// 计算面积
public int area() {
return width * height;
}
// 计算周长
public int perimeter() {
return 2 * (width + height);
}
// 输出属性值
public void print() {
System.out.println("左上角坐标:" + x1 + "," + y1);
System.out.println("右下角坐标:" + x2 + "," + y2);
System.out.println("长宽:" + width + "," + height);
System.out.println("面积:" + area());
System.out.println("周长:" + perimeter());
}
// 判断是否为正方形
public boolean isSquare() {
return width == height;
}
}
public class RectangleTest {
public static void main(String[] args) {
Rectangle r1 = new Rectangle(10, 10, 50, 30); // 左上角坐标和长宽
Rectangle r2 = new Rectangle(20, 20, 60, 50); // 左上角和右下角坐标
r1.print();
System.out.println("是否为正方形:" + r1.isSquare());
r2.print();
System.out.println("是否为正方形:" + r2.isSquare());
}
}
```
输出结果为:
```
左上角坐标:10,10
右下角坐标:60,40
长宽:50,30
面积:1500
周长:160
是否为正方形:false
左上角坐标:20,20
右下角坐标:80,70
长宽:60,50
面积:3000
周长:220
是否为正方形:false
```
阅读全文