编写一个完整的Java程序,要求如下:(复习题,不会编,求解!!!) 5

7-1.编写一个完整的Java程序,要求如下:(1)定义一个平面直角坐标系点类(Point2D)a)属性成员:doublex;doubley;b)构造方法:Point2D... 7-1. 编写一个完整的Java程序,要求如下:
(1) 定义一个平面直角坐标系点类(Point2D)
a) 属性成员:double x ;
double y;
b) 构造方法:Point2D() 初始化坐标值(0,0)
Point2D(double x,double y) 初始化坐标值(x,y)
c) 方法成员:void setCoordinate(double x , double y) 将当前点坐标值设为(x,y)
void setCoordinate(Point2D p) 将当前点坐标值设为和p点坐标值相同
double distance() 当前点到原点的距离
double distance(Point2D p) 当前点到p点的距离
static double distance(Point2D p1,Point2D p2) p1点到p2点的距离
void move (double dX, double dY) 将当前点坐标值偏移(dX,dY)
(2) 定义一个平面直角坐标系上的圆类(Circle2D)
a) 属性成员:double radius ;
Point2D center;
b) 构造方法:Circle2D 初始化radius为9,center为原点
Circle2D (double r, Point2D p) 初始化radius为r,center为p点
c) 方法成员:void setCenter (double x,double y) 设置当前圆的圆心为(x,y)
void setCenter(Point2D p) 设置当前圆的圆心与p点坐标值相同
void setRadius(double r) 设置当前圆的半径值为r
double getArea() 计算圆的面积
double getPerimeter() 计算圆周长
(3) 定义一个public类CircleDemo
a) 在主方法main中实现如下功能:
创建圆对象(圆心为(0,0) , 半径为1),指派给c1
创建圆对象(圆心为(0,0) , 半径为3),指派给c2
计算c2和c1不重叠部分的面积,并输出
创建圆对象(圆心为(3,0) , 半径为2),指派给c3
判断c1和c3是否相切(注意:实数数据判断相等问题)
8-4 (转型)编写一个完整的Java程序,要求如下:
(1) 继承7-1定义的Point2D类,定义一个三维直角坐标系点类(Point3D)
a) 扩充属性成员:double z ;
b) 构造方法:Point3D() 初始化坐标值(0,0,0)
Point3D(double x,double y,double z) 初始化坐标值(x,y,z)
c) 新增(重载)方法成员:
void setCoordinate(double x , double y,double z) 将当前点坐标值设为(x,y,z)
void setCoordinate (double dX, double dY,double dZ) 根据偏移量改变当前点坐标值
d) 重写(覆盖)方法成员: (转型)
void setCoordinate(Point2D p) 将当前点坐标值设为和p点坐标值相同
double distance() 当前点到原点的距离
double distance(Point2D p) 当前点到p点的距离
static double distance(Point2D p1,Point2D p2) p1点到p2点的距离
(2) 设计蜜蜂类Fee,它含有
a) 一个成员属性position,表示Bee对象所在位置(空间三维坐标)
b) 一个构造方法Ant(Point3D p)
c) 一个成员方法void fly(double d, double fai , double xita),用于计算Bee对象飞行到达新的位置。其中d是距离,fai是投影到xy平面的与x轴之间的夹角(单位度),xita是与z轴之间的夹角。
d) 主方法public static void main(String[] args),其中用于计算一只处于原点的蜜蜂(Bee对象)飞行1000下后距原点的距离。蜜蜂每飞行一下能飞的距离和角度用(d,fai,xita)表示。它们的取值分别是[0 , 3.0)、[0 ,360) 、[0 , 360 ) 之间的随机数。
主要涉及了二维空间和三维空间,二维的我已尝试编好,三维不会:
class Point2D{
double x;
double y;
Point2D(){
}
Point2D(double x,double y){
this.x=x;
this.y=y;
}
double getX(){
return x;
}
double getY(){
return y;
}
void setCoordinate(double x , double y){
this.x=x;
this.y=y;
}
void setCoordinate(Point2D p){
x=p.getX();
y=p.getY();
}
double distance(){
return Math.sqrt(x*x+y*y);
}
double distance(Point2D p){
return Math.sqrt((x-p.getX())*(x-p.getX())+(y-p.getY())*(y-p.getY()));
}
static double distance(Point2D p1,Point2D p2){
return Math.sqrt((p1.getX()-p2.getX())*(p1.getX()-p2.getX())+(p1.getY()-p2.getY())*(p1.getY()-p2.getY()));
}
void move (double dX, double dY){
x+=dX;
y+=dY;
}
}

public class CircleDemo {

public static void main(String[] args) {
// TODO Auto-generated method stub

}

}

求解!!!
展开
 我来答
云南新华电脑学校
2018-08-27 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
展开全部
1由点到面,构建知识网络
对所学的知识点分步地进行梳理、归纳和总结,理清知识脉络。从一个简单的语法点或一个核心句型开始延伸,理清它们的变化形式、变化规律以及与时态、语态等的关联。所谓由点到面,构建知识网络。
2由面到点,加深记忆,查漏补缺
回归课本,查缺补漏,打好基础。以单元为单位展开复习,回忆每单元所学的主要内容,包括核心单词、重点句型和语法,以及需要掌握的对话等。回忆时要有框架,由面到点,比如先通过目录页回忆每个单元的话题,然后再回忆细化的知识点。
3聚焦重难点,巩固易错点
对每单元中的重点内容(词汇、句型和语法)和在练习中易错的点作进一步的复习,解决重点、难点和疑点,加深理解。多看错题本,攻克错题。
4经典题目自测,检验复习效果
对复习效果进行检测,会产生成就感或紧张感,从而自觉主动地去学习,同时可以及时调整复习方法。在复习完成时,选取一定数量的题目进行检测非常有必要。多做典型题,摸清规律,学会举一反三,但不提倡题海战术。
想要考个好成绩,除了熟练掌握单词、语法、句型,还要有正确的答题技巧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式