编程实现判断平面中一个点是否位于一个圆内,要求如下:
1. 编写一个平面上点的类Point;
(1)点的属性有坐标值x,y;
(2)编写点的构造方法和分别返回x和y的方法;
2. 编写一个平面上圆的类Circle;
(1)圆的属性有:圆心的点坐标和圆的半径;
(2)编写圆的两个构造方法:
l 其中一个构造方法只有一个double类型的形参用于初始化圆的半径,圆心则设置为(0,0);
l 另一个构造方法有两个形参,一个是Point类型用于设置圆心点,另一个是double类型用于设置圆的半径;
(3)编写圆的方法boolean isContainaPoint(Point aP),用于判断点aP是否位于这个圆内;若一个圆的圆心坐标是(a,b)半径是r,判断点(c,d)是否位于圆内的方法是:计算点(c,d)相对于点(a,b)的相对坐标(c-a,d-b),若(c-a)2+(d-b)2小于等于r2则说明点(c,d)在圆内,否则不在圆内;
3. 编写TestOverloading类实现对上述类的测试:
(1)先判断一个点(c,d)是否在圆心为坐标原点半径为r的圆内;
(2)再判断一个点(c,d)是否在圆心为坐标(a,b)半径为r的圆内;
java编程作业:构造方法的重载
答案:5 悬赏:0 手机版
解决时间 2021-02-04 12:08
- 提问者网友:却不属于对方
- 2021-02-04 07:57
最佳答案
- 五星知识达人网友:北方的南先生
- 2021-02-04 08:37
我是初学者,我把我写的给你看看,我们可以一起学习交流的啊~
class Point{
double x,y;
Point(double x,double y){
this.x = x;
this.y = y;
}
double getX(){
return x;
}
double getY(){
return y;
}
}
class Circle{
double r;
Point pp;
Circle(double r){
this.r = r;
pp =new Point (0,0);
}
Circle(double r,Point p ){
this.r = r;
this.pp=p;
}
boolean isContain(Point pt){
double a =(pp.x-pt.x)*(pp.x-pt.x)+(pp.y-pt.y)*(pp.y-pt.y);
double b = this.r*this.r;
if(a<b){
return true;
}else{
return false;
}
}
}
public class TestOverLoad{
public static void main (String[] args){
Circle c1=new Circle(1);
Point p=new Point(1,1);
System.out.println(c1.isContain(p));
}
}
class Point{
double x,y;
Point(double x,double y){
this.x = x;
this.y = y;
}
double getX(){
return x;
}
double getY(){
return y;
}
}
class Circle{
double r;
Point pp;
Circle(double r){
this.r = r;
pp =new Point (0,0);
}
Circle(double r,Point p ){
this.r = r;
this.pp=p;
}
boolean isContain(Point pt){
double a =(pp.x-pt.x)*(pp.x-pt.x)+(pp.y-pt.y)*(pp.y-pt.y);
double b = this.r*this.r;
if(a<b){
return true;
}else{
return false;
}
}
}
public class TestOverLoad{
public static void main (String[] args){
Circle c1=new Circle(1);
Point p=new Point(1,1);
System.out.println(c1.isContain(p));
}
}
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-02-04 12:57
我是初学者,我把我写的给你看看,我们可以一起学习交流的啊~
class
Point{
double
x,y;
Point(double
x,double
y){
this.x
=
x;
this.y
=
y;
}
double
getX(){
return
x;
}
double
getY(){
return
y;
}
}
class
Circle{
double
r;
Point
pp;
Circle(double
r){
this.r
=
r;
pp
=new
Point
(0,0);
}
Circle(double
r,Point
p
){
this.r
=
r;
this.pp=p;
}
boolean
isContain(Point
pt){
double
a
=(pp.x-pt.x)*(pp.x-pt.x)+(pp.y-pt.y)*(pp.y-pt.y);
double
b
=
this.r*this.r;
if(a
评论
0
0
0
加载更多
- 2楼网友:渊鱼
- 2021-02-04 12:32
这个构造方法的定义和构造方法的定义就会写了~!
- 3楼网友:人间朝暮
- 2021-02-04 11:09
你好!
太简单,上学那会的作业。
仅代表个人观点,不喜勿喷,谢谢。
- 4楼网友:春色三分
- 2021-02-04 09:41
完全没有难度
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯