定义一个矩形和点的位置,判断点是否在矩形里面
25.按要求编写一个Java应用程序:
(1)编写一个矩形类Rect,包含:
两个属性:矩形的宽width;矩形的高height。
两个构造方法:
1.一个带有两个参数的构造方法,用于将width和height属性初化;
2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。
两个方法:
求矩形面积的方法area()
求矩形周长的方法perimeter()
(2)通过继承Rect类编写一个具有确定位置的矩形类PlainRect,其确定位置用
矩形的左上角坐标来标识,包含:
添加两个属性:矩形左上角坐标startX和startY。
两个构造方法:
带4个参数的构造方法,用于对startX、startY、width和height属性
初始化;
不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0
的矩形;
添加一个方法:
判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩
形内,返回true, 否则,返回false。
提示:点在矩形类是指满足条件:
x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)
(3)编写PlainRect类的测试程序
创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;
计算并打印输出矩形的面积和周长;
判断点(25.5,13)是否在矩形内,并打印输出相关信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package zuoye; public class Rect { //属性 double width; double height; //有参的构造方法 public Rect( double width, double height) { this .width=width; this .height=height; } public Rect() { this .width= 10 ; this .height= 10 ; } //自定义成员方法 面积 public double area(){ double area; area=width*height; return area; } //周长 public double perimeter(){ double perimeter; perimeter=(width+height)* 2 ; return perimeter; } //通过属性生成的get,set成员方法 public double getWidth() { return width; } public void setWidth( double width) { this .width = width; } public double getHeight() { return height; } public void setHeight( double height) { this .height = height; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | package zuoye; public class PlainRect extends Rect { private int startX; private int startY; //有参的构造方法 public PlainRect( int startX, int startY, double width, double height) { this .startX=startX; this .startY=startY; this .width=width; this .height=height; } public PlainRect( double startX, double startY) { System.out.println( "这个点的坐标是x=" +startX+ "y=" +startY); } //无参的构造方法 public PlainRect() { this .startX= 0 ; this .startY= 0 ; this .width= 0 ; this .height= 0 ; } //成员方法 //判断是否在矩形内部 public boolean isInside( double x, double y) { if (x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)) { return true ; } else { return false ; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | package zuoye; public class Ceshi_PlainRect { public static void main(String[] args) { //通过PlainRect中有参的构造方法创建矩形 PlainRect pr= new PlainRect( 10 , 10 , 10 , 20 ); //调用父类中的面积方法 System.out.println( "10x20的矩形面积=" +pr.area()); //周长 System.out.println( "10x20的矩形周长=" +pr.perimeter()); //定义一个点的的坐标 PlainRect pr1= new PlainRect( 25.5 , 13 ); //判断点的坐标 if (pr.isInside( 25.5 , 13 )== true ) { System.out.println( "这个点在矩形内" ); } else { System.out.println( "不在矩形内" ); } } } |
分类:
java作业
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· SQL Server统计信息更新会被阻塞或引起会话阻塞吗?
· C# 深度学习框架 TorchSharp 原生训练模型和图像识别
· 这或许是全网最全的 DeepSeek 使用指南,95% 的人都不知道的使用技巧(建议收藏)
· 拒绝繁忙!免费使用 deepseek-r1:671B 参数满血模型
· 本地搭建DeepSeek和知识库 Dify做智能体Agent(推荐)
· Sdcb Chats 重磅更新:深度集成 DeepSeek-R1,思维链让 AI 更透明!
· DeepSeek-R1本地部署如何选择适合你的版本?看这里