重新定义Rectangle类,使其具有以下软件接口: class Rectangle{ public Rectangle();//将矩形的宽和高均设为1 public Rectangle(int w,int h); pub1ic Rectangle(Rectangle r);//用r的状态设置当前长方形的状态 public double getArea();//计算矩形的面积 public double getPerimeter();//计算矩形的周长 public boolean equals(Rectangle r);//测试当前矩形与参数矩形r的面积是否相等 public int getwidth();//返回矩形的宽 public int getHeight();//返回矩形的高 public String tostring();//以格式“矩形(w,h)”返回当前矩形的长与宽的字符串表示。 然后再编写main方法进行测试,主要测试构造方法和toString方法
时间: 2023-05-15 11:05:35 浏览: 139
java代码-编写一个类,类名为Rectangle(矩形),它有两个整型的变量width(宽)和height(高);有一个方法area(),没有参数,返回类型为double,功能是求矩形的面积;还有另一个方法为perimeter()没有参数,返回类型为double,功能是求矩形的周长,
好的,以下是Rectangle类的重新定义代码:
```
class Rectangle {
private int width;
private int height;
public Rectangle() {
width = 1;
height = 1;
}
public Rectangle(int w, int h) {
width = w;
height = h;
}
public Rectangle(Rectangle r) {
width = r.width;
height = r.height;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
public boolean equals(Rectangle r) {
return getArea() == r.getArea();
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
public String toString() {
return "矩形(" + width + "," + height + ")";
}
}
```
接下来是测试代码:
```
public static void main(String[] args) {
Rectangle r1 = new Rectangle();
Rectangle r2 = new Rectangle(3, 4);
Rectangle r3 = new Rectangle(r2);
System.out.println(r1.toString());
System.out.println(r2.toString());
System.out.println(r3.toString());
System.out.println("r1的面积为:" + r1.getArea());
System.out.println("r2的周长为:" + r2.getPerimeter());
System.out.println("r1和r2的面积是否相等:" + r1.equals(r2));
System.out.println("r2和r3的面积是否相等:" + r2.equals(r3));
}
```
输出结果如下:
```
矩形(1,1)
矩形(3,4)
矩形(3,4)
r1的面积为:1.0
r2的周长为:14.0
r1和r2的面积是否相等:false
r2和r3的面积是否相等:true
```
希望这个回答能够帮到你!
阅读全文