java语言程序设计方案第十章十二题参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
contains(r.x + r.width / 2, r.y - r.height / 2)。
}//判断包含的条件
public boolean overlaps(MyRectangle2D r) {
returnHale Waihona Puke BaiduMath.abs(this.x - r.x) <= (this.width + r.width) / 2 &&
}
public void setWidth(double width){
this.width=width。
}
public double getHeight(){
return height。
}
public void setHeight(double height){
this.height=height。
System.out.println("面积为:"+r1.getArea()+"周长为:"+r1.getPrimeter())。
System.out.println("点(3,3)在矩形r1内吗(是为true,不是为否)?"+r1.contains(3, 3))。
System.out.println("给定的矩形在矩形r1内吗(是为true,不是为否)?"+r1.contains(new MyRectangle2D(4,5,10.5,3.2)))。
10.12定义Myrectangle类,包含:
两个名为x和y的double型数据域,表明矩形的中心点,这两个数据域都带有get和set方法(假设这个矩形的边和x和y轴平行);
带get和set方法的数据域width和height.
一个无参构造方法,,该方法创建一个(x,y)的值为(0,0)且width和height的默认值为1.
}
public double getPrimeter(){
return 2*(width+height)。
}
public boolean contains(double x,double y){
return x<width&&y<height?true:false。
}
public boolean contains(MyRectangle2D r) {
return contains(r.x - r.width / 2, r.y + r.height / 2) &&
contains(r.x - r.width / 2, r.y - r.height / 2) &&
contains(r.x + r.width / 2, r.y + r.height / 2) &&
}
MyRectangle2D(double x,double y,double width,double height){
this.x=x。
this.y=y。
this.width=width。
this.height=height。
}
public double getArea(){
return width*height。
一个构造方法,创建带制定的x,y,width,height的矩形。
方法getArea()返回矩形的面积。
方法getPrimeter()返回矩形的周长。
如果给定的点(x,y)在矩形内,那么方法contains(double x,double y)返回true.
如果给定的矩形在这个矩形内,那么方法contains(Myrectangle2D r)返回true。
return x。
}
public double getY(){
return y。
}
public void setX(double x){
this.x=x。
}
public void setY(double y){
this.y=y。
}
public double getWidth(){
return width。
System.out.println("给定的矩形和矩形r1重叠吗(是为true,不是为否)?" +r1.overlaps(new MyRectangle2D(3,5,2.3,5.4)))。
}
}
如果给定的矩形和这个矩形重叠,那么方法overlaps(Myrectangle2D r)返回true.
画出该类的UML图,实现这个类。
代码为:
class MyRectangle2D{
double x=0,y=0。//x,y表示矩形中心点
double width=1,height=1。
public double getX(){
Math.abs(this.y - r.y) <= (this.height + r.height) / 2。
} //判断重叠的条件
public static void main(String[] args){
MyRectangle2D r1=new MyRectangle2D(2,2,5.5,4.9)。
}//判断包含的条件
public boolean overlaps(MyRectangle2D r) {
returnHale Waihona Puke BaiduMath.abs(this.x - r.x) <= (this.width + r.width) / 2 &&
}
public void setWidth(double width){
this.width=width。
}
public double getHeight(){
return height。
}
public void setHeight(double height){
this.height=height。
System.out.println("面积为:"+r1.getArea()+"周长为:"+r1.getPrimeter())。
System.out.println("点(3,3)在矩形r1内吗(是为true,不是为否)?"+r1.contains(3, 3))。
System.out.println("给定的矩形在矩形r1内吗(是为true,不是为否)?"+r1.contains(new MyRectangle2D(4,5,10.5,3.2)))。
10.12定义Myrectangle类,包含:
两个名为x和y的double型数据域,表明矩形的中心点,这两个数据域都带有get和set方法(假设这个矩形的边和x和y轴平行);
带get和set方法的数据域width和height.
一个无参构造方法,,该方法创建一个(x,y)的值为(0,0)且width和height的默认值为1.
}
public double getPrimeter(){
return 2*(width+height)。
}
public boolean contains(double x,double y){
return x<width&&y<height?true:false。
}
public boolean contains(MyRectangle2D r) {
return contains(r.x - r.width / 2, r.y + r.height / 2) &&
contains(r.x - r.width / 2, r.y - r.height / 2) &&
contains(r.x + r.width / 2, r.y + r.height / 2) &&
}
MyRectangle2D(double x,double y,double width,double height){
this.x=x。
this.y=y。
this.width=width。
this.height=height。
}
public double getArea(){
return width*height。
一个构造方法,创建带制定的x,y,width,height的矩形。
方法getArea()返回矩形的面积。
方法getPrimeter()返回矩形的周长。
如果给定的点(x,y)在矩形内,那么方法contains(double x,double y)返回true.
如果给定的矩形在这个矩形内,那么方法contains(Myrectangle2D r)返回true。
return x。
}
public double getY(){
return y。
}
public void setX(double x){
this.x=x。
}
public void setY(double y){
this.y=y。
}
public double getWidth(){
return width。
System.out.println("给定的矩形和矩形r1重叠吗(是为true,不是为否)?" +r1.overlaps(new MyRectangle2D(3,5,2.3,5.4)))。
}
}
如果给定的矩形和这个矩形重叠,那么方法overlaps(Myrectangle2D r)返回true.
画出该类的UML图,实现这个类。
代码为:
class MyRectangle2D{
double x=0,y=0。//x,y表示矩形中心点
double width=1,height=1。
public double getX(){
Math.abs(this.y - r.y) <= (this.height + r.height) / 2。
} //判断重叠的条件
public static void main(String[] args){
MyRectangle2D r1=new MyRectangle2D(2,2,5.5,4.9)。