面向对象编程题2
2023-04-18 12:32:42 时间
按要求编写一个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)是否在矩形内,并打印输出相关信息
public class Rect {
double width;
double height;
public Rect(double width,double height) {
this.width = width;
this.height = height;
}
public Rect() {
width = 10;
height = 10;
}
public double area() {
return width*height;
}
public double perimeter() {
return 2*(width+height);
}
}
public class PlainRect extends Rect {
double startX;
double startY;
public PlainRect(double width,double height,double startX,double startY) {
this.width = width;
this.height = height;
this.startX = startX;
this.startY = startY;
}
public PlainRect() {
startX = 0;
startY = 0;
width = 0;
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;
}
}
}
public static void main(String[] args) {
PlainRect p = new PlainRect(20,10,10,10);
System.out.println(p.area());
System.out.println(p.perimeter());
System.out.println(p.isInside(25.5, 13));
}
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击