输入一个圆心、半径组成一个圆,输出圆的面积和周长,再任意输一个坐标点,判断这个点是否在圆的范围内。

在平面坐标系上,输入一个圆心、半径组成一个圆,输出圆的面积和周长,再任意输一个坐标点,判断这个点是否在圆的范围内。
任务要求
建立两个类:
平面坐标系上二维的点的位置Point类和圆Circle类

class Point { //点类
private double x; //私有变量 双精度型 的 x
private double y; //私有变量 双精度型 的 y
Point(double x1, double y1) { //点类的带两个参数的构造方法,
x = x1; //把参数x1的值赋给x
y = y1; //把常识y1的值赋给y
}
public double getX() { return x; }
public double getY() { return y; }
public void setX(double i) { x = i; }
public void setY(double i) { y = i; }
}

class Circle { //圆类
private Point o;
private double radius;
Circle(Point p, double r) {
o = p;
radius = r;
}
Circle(double r) {
o = new Point(0.0, 0.0);
radius = r;
}

boolean contains(Point p) {
double x = p.getX() - o.getX();
double y = p.getY() - o.getY();
if(x*x + y*y > radius * radius) return false;
else return true;
}

public void setO(double x, double y) {
o.setX(x);
o.setY(y);
}
public Point getO() { return o; }
public double getRadius() { return radius;}
public void setRadius(double r) { radius = r;}
public double area() {
return 3.14 * radius * radius;
}
}

public class TestCircle { //主类
public static void main(String args[]) {
Circle c1 = new Circle(new Point(1.0,2.0), 2.0);
Circle c2 = new Circle(5.0);
System.out.println("c1:("+c1.getO().getX()+"," +c1.getO().getY()+"),"+c1.getRadius());
System.out.println("c2:("+c2.getO().getX()+","+c2.getO().getY()+"),"+c2.getRadius());
System.out.println("c1 area = "+c1.area());
System.out.println("c1 area = "+c2.area());
c1.setO(5,6);
c2.setRadius(9.0);
System.out.println("c1:("+c1.getO().getX()+","+c1.getO().getY()+"),"+c1.getRadius());
System.out.println("c2:("+c2.getO().getX()+","+c2.getO().getY()+"),"+c2.getRadius());
System.out.println("c1 area = "+c1.area());
System.out.println("c1 area = "+c2.area());

Point p1 = new Point(5.2, 6.3);
System.out.println(c1.contains(p1));
System.out.println(c1.contains(new Point(10.0,9.0)));

}
}

自己再改改
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-12
public class Test {
public static void main(String[] args){
Point center = new Point(100,100);
int radius = 100;
Circle cir = new Circle(center,radius);

Point x = new Point(1,100);
boolean incir = cir.contains(x);
System.out.println(incir);

x=new Point(1,1);
incir=cir.contains(x);
System.out.println(incir);
}
}

class Point{
private int x,y;
public Point(int cx,int cy){
x=cx;
y=cy;
}
/**计算该点到指定点 p 的距离*/
public double getDistance(Point p){
int sx = x-p.x;
int sy = y-p.y;
// System.out.println("sx:"+sx+" sy:"+sy+" dist:"+Math.sqrt(sx*sx+sy*sy));
return Math.sqrt(sx*sx+sy*sy);
}
}
class Circle{
private Point center;//圆心
private int radius;//半径
/**指定圆心和半径构造圆*/
public Circle(Point p,int r){
center=p;
radius=r;
}
/**计算面积*/
public double getArea(){return Math.PI*radius*radius;}
/**计算周长*/
public double getPrimeter(){return 2*Math.PI*radius;}
/**判断给定点是否在该圆内(指定点到圆心的距离是否小于半径)*/
public boolean contains(Point p){
return center.getDistance(p)<radius;
}
}本回答被提问者采纳
第2个回答  2009-02-04
ggggggggggggggggggggggggggggggg

输入一个圆心、半径组成一个圆,输出圆的面积和周长,再任意输一个坐标...
Point p1 = new Point(5.2, 6.3);System.out.println(c1.contains(p1));System.out.println(c1.contains(new Point(10.0,9.0)));} } 自己再改改

c语言代码,输入一个半径,求圆的周长,面积,球面积,球体积,求验证
printf("输入圆的半径:\\n\\a");scanf("%lf", &r);\/\/这里有变动,双精度浮点型(double)输入是用%lf c = PI * 2.0 * r;s1 = PI * r * r;s2 = 4.0 * s1;v = (4 * PI * r * r * r)\/3.0;printf("周长 = %lf\\n圆面积 = %lf\\n球面积 = %lf\\n球体积 = %l...

编写C语言程序,输入圆的半径,求出圆的周长和面积并输出
include <stdio.h>void main(){ float r;printf("请输入圆的半径: ");scanf("%f",&r);printf("圆的周长是: %f\\n",(2*3.14*r));\/\/求出圆周长 printf("圆的面积是: %f\\n",(3.14*r*r));\/\/求出圆面积 }

...输入一个圆的半径,计算并输出该圆的周长于面积。在线等,悬赏50,立 ...
include <stdio.h>#include <stdlib.h>#include <math.h>#define PI 3.14159int main(){ float r; scanf("%g",&r); double s=PI*r*r; double c=2*PI*r; printf("%.*lf\\n",2,c); printf("%.*lf",2,s); return 0;} ...

...一个程序,实现输入圆的半径,输出圆的周长和面积?
void main(){ float i,a,t;\/\/定义面积,半径,周长 printf("请输入圆的半径:");scanf("%f",&t);\/\/输入半径 a=3.14*2*t;\/\/求圆的周长 i=3.14*t*t;\/\/求圆的面积 printf("圆的周长为:%.1f\\n",a);\/\/输出周长 printf("圆的面积为:%.1f\\n",i);\/\/输出面积 } 以上的代码...

编程从键盘输入圆的半径r,计算并输出圆的周长和面积
方法:include <stdio.h> define PI 3.14 int main(){ float r,c,area;printf("请输入圆的半径:");scanf("%f",&r);c=2 * PI * r;area=PI * r * r;printf("该圆的周长是%.2f,面积是%.2f\\a",c,area);}

编写一个c++程序,从键盘输入圆的半径,输出圆的周长和面积
void cal()\/\/计算圆的周长和半径 { cout<<"周长:"<<2*PI*r<<endl;cout<<"面积:"<<PI*r*r<<endl;} };void main(){ Circle C;C.Get();C.cal();} (法2)include<iostream> using namespace std;define PI 3.1415926 void main(){ double r;cout<<"输入圆半径:";cin>>r;...

...输入圆的半径r计算圆的周长和面积并输出周长和面积的结果要求_百 ...
Output "圆的周长为: "Output circumference Output "圆的面积为: "Output area END 这个程序的工作方式如下:程序开始时,提示用户输入圆的半径。输入的值会被存储在变量r中。然后,程序将pi(圆周率)定义为3.1415926。接着,程序计算圆的周长(2 * pi * r)和面积(pi * r * r),并将结果...

如何利用VB编程,输入圆的半径,计算并输出圆的面积。
1、打开vb,选择左边工具栏的commandbutton。2、在窗体上拖出一个按钮,更改上面的文字为“单击输入半径”。3、双击按钮,在弹出的code代码窗口中,输入如下代码。4、选择工具栏中的启动按钮进行调试。5、单击按钮,会弹出一个对话框,在里面输入半径3。6、会在窗体上打印出计算出的面积的值。

编程题 输入一个圆的半径,求圆的面积和周长 五.
include<stdio.h> define PI 3.1415\/\/定义圆周率 int main(){ float r,l,s;scanf("%f",&r);l=2*PI*r;s=PI*r*r;printf("面积:%.2f 周长:%.2f",s,l);return 0;}

相似回答