您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > java程序设计第十章十一题参考答案
10.11.定义一个Circle2D类,包括:两个带有get方法的名为x和y的double型数据域,表明园的中心点;一个带get方法的数据域radius;一个无参数构造方法,该方法创建一个中心点(x,y)值为(0,0)且radius为1的默认圆;一个构造方法,创建指定的x,y和radius的圆;一个返回圆面积的方法getArea();一个返回圆周长的方法getPerimeter();如果给定的点(x,y)在这个圆内,那么方法contains(doubelx,doubley)返回true;如果给定的圆在这个圆内,那么方法contains(Circle2Dcircle)返回true;如果给定的圆和这个圆重叠,那么方法overlaps(Circle2Dcircle)返回true。实现这个类。编写测试程序,创建一个Circle2D对象c1,其中心点在(2,2),半径为5.5,显示它的面积和周长。同时,检查点(3,3)是否位于这个圆的内部。然后,再检查另一个圆(中心点为(4,5),半径为10.5)是否位于这个圆的内部。之后,再检查另一个圆(中心点为(3,5),半径为2.3)是否和这个圆重叠。代码:classCircle2D{doublex=0,y=0,radius=1;publicdoublegetX(){returnx;}publicdoublegetY(){returny;}publicdoublegetRadius(){returnradius;}Circle2D(){}Circle2D(doublex,doubley,doubleradius){this.x=x;this.y=y;this.radius=radius;}publicdoublegetArea(){returnradius*radius*Math.PI;}publicdoublegetPrimeter(){return2*radius*Math.PI;}publicbooleancontains(doublex,doubley){doubled=Math.pow(x*x+y*y,0.5);returndradius?true:false;}publicbooleancontains(Circle2Dcircle){returnthis.radiuscircle.radius&&this.getArea()circle.getArea()?true:false;}publicbooleanoverlaps(Circle2Dcircle){returnthis.radius+circle.radius2*this.radius?true:false;}publicstaticvoidmain(String[]args){Circle2Dc1=newCircle2D(2,2,5.5);c1.getArea();c1.getPrimeter();c1.contains(3,3);Circle2Dc2=newCircle2D(4,5,10.5);c1.contains(c2);Circle2Dc3=newCircle2D(3,5,2.3);c1.contains(c3);System.out.println(c1的面积为:+c1.getArea()+c1的周长为:+c1.getPrimeter());System.out.println(点(3,3)在圆c1内吗(是为true,不是为否)?+c1.contains(3,3));System.out.println(圆c2在圆c1内吗(是为true,不是为否)?+c1.contains(c2));System.out.println(圆c3和圆c1重叠吗(是为true,不是为否)?+c1.overlaps(c3));}}
本文标题:java程序设计第十章十一题参考答案
链接地址:https://www.777doc.com/doc-2881302 .html