定义一个圆类,并判断一个点是否在圆的内部(圆心用二维的点来表示)。 用java语言表示

 我来答
jwqayist
推荐于2018-04-05 · TA获得超过148个赞
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:149万
展开全部
Note类:
package cycle;

//点的抽象类
public class Note {
private int x; //x轴坐标
private int y; //y轴坐标

public int getX() {
return x;
}

public void setX(int x) {
this.x = x;
}

public int getY() {
return y;
}

public void setY(int y) {
this.y = y;
}
}
圆类:
package cycle;

//圆类
public class Cycle {
private Note note; //圆心
private int r; //半径
public Note getNote() {
return note;
}
public void setNote(Note note) {
this.note = note;
}
public int getR() {
return r;
}
public void setR(int r) {
this.r = r;
}
}
测试类:
package cycle;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Note n = new Note(); //定义圆心
n.setX(0);
n.setY(0); //此处圆心可随意设置
Cycle c = new Cycle(); //定义圆
c.setNote(n);
c.setR(10);//此处半径可随意设置

Note note = new Note();
note.setX(5);
note.setY(5);//此处点可随意设置

isIn(c, note);
}

public static void isIn(Cycle c, Note n){
int x = c.getNote().getX() - n.getX();
int y = c.getNote().getY() - n.getY();
double d = Math.sqrt(x * x + y * y);
if(d > c.getR()){
System.out.println("点在圆外。");
}else if(d < c.getR()){
System.out.println("点在圆内。");
}else{
System.out.println("点在圆上。");
}
}

}
秋梵颖秀0gr
2012-03-19 · TA获得超过232个赞
知道答主
回答量:89
采纳率:0%
帮助的人:42万
展开全部
package com.Circle;

public class Circle {
//define the center of the circle is (x,y)
private double x;
private double y;

//the rayon of the circle
private double rayon;

public Circle(double x, double y, double rayon){
this.x = x;
this.y = y;
this.rayon = rayon;
}
public double getDistance(double a, double b){
double _x = Math.abs(this.x - a);
double _y = Math.abs(this.y - b);
return Math.sqrt(_x*_x+_y*_y);
}

public boolean isInCircle(double a, double b){
boolean result = true;
System.out.println("The distance: " + this.getDistance(a, b));
if(this.getDistance(a, b) > this.rayon){
result = false;
}
return result;
}

public static void main(String[] args){
Circle circle = new Circle(2.0, 3.0, 5);
System.out.println("The result: " + circle.isInCircle(3.0, 4.0));
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式