java中关于矩形类

来源:百度知道 编辑:UC知道 时间:2024/05/27 19:26:50
创建矩形类Rectangle
存储两个顶点坐标(m_x1,m_y1,m_x2,m_y2),构造方法接受2个顶点坐标的值,并调用设置方法setCoordinates将得到的坐标写入对应的属性中,设置方法setCoordinates检查坐标x和y值是否大于零,方法isRectangle()检验提供的坐标是否能构成矩形,根据检验结果设置m_isRectangle的值,并将检验结果输出到屏幕上。(有三种情况:1.两点坐标相同,构成一个点;2.两点坐标的x相同或y相同,只能构成矩形的一边;3.两点坐标分别喂矩形两个对角顶点坐标)提供计算height、width、perimeter、area的方法。加入判断方法isSquare,以确定此矩形是否为正方形。该类是公共的,保存文件名为Rectangle2.java,再编译主类Rectangle2Test测试它
属性:
private double m_height;
private double m_width;
private double m_x1;
private double m_y1;
private double m_x2;
private double m_y2;
private boolean m_isRectangle;
操作:
public Rectangle2();
public Rectangle2(double aX1,double aY1,double aX2,double aY2);
public void setCoordinates(double aX1,double aY1,double aX2,double aY2);
public boolean isRectangle();
public boolean isSquare();
private void setHeight();
private void setWidth();
public double getHeight();
public double getWidth();
public double perimeter();

public class Rectangle2 {
// 属性:
private double m_height;
private double m_width;
private double m_x1;
private double m_y1;
private double m_x2;
private double m_y2;
private boolean m_isRectangle;

// 操作:
public Rectangle2() {
this(0.0, 0.0, 0.0, 0.0);
}

public Rectangle2(double aX1, double aY1, double aX2, double aY2) {
setCoordinates(aX1, aY1, aX2, aY2);
}

public void setCoordinates(double aX1, double aY1, double aX2, double aY2) {
m_x1 = aX1;
m_y1 = aY1;
m_x2 = aX2;
m_y2 = aY2;

setHeight();
setWidth();
isRectangle();
}

public boolean isRectangle() {
if ((m_height >= 0 && m_width >= 0) && (m_x1 != m_x2 || m_y1 != m_y2)) {
System.err.println("输入的坐标构成一个矩形");
m_isRectangle = true;
} else {
if ((m_x1 == m_x2 && m_y1 != m_y2)
|| (m_x1 !=