设计一个类代表二维空间的一个点,设计一个类代表二维空间的一个圆。要求两个成员变量。一个是圆心,一 个是半径,提供计算面积的方法。为上述Cricle类添加一个方法,计算一个点(Point)是否在圆内

本文介绍了一个Java程序,用于表示二维空间中的点和圆。通过定义Point和Cricle类,实现了点的坐标存储和圆的圆心、半径属性。程序还提供了计算点是否在圆内的方法,以及计算圆面积的功能。

(1) 设计一个类代表二维空间的一个点
(2) 设计一个类代表二维空间的一个圆。要求两个成员变量。一个是圆心,一 个是半径,提供计算面积的方法。
(3) 为上述Cricle类添加一个方法,计算一个点(Point对象)是否在圆(Cricle对象)内,并写程序验证

package 面向对象_HomeWork;
import java.util.Scanner;
public class 圆 {
	public static void main(String[] args) {
		Cricle c=new Cricle(1,2,3);
		c.show();
		Scanner s=new Scanner(System.in);
		System.out.println("请输入一个坐标");
		int x1=s.nextInt();
		int y1=s.nextInt();
		c.pd(x1, y1);
	}
}
class Point{
	int x1;
	int y1;
	public Point(int x1, int y1) {
		super();
		this.x1 = x1;
		this.y1 = y1;
	}
	public void p(){
		System.out.println("判断的坐标为:("+x1+" ,"+y1+")");
	}
}
class Cricle{
	private int x;//圆心坐标x
	private int y;//圆心坐标y
	private int r;//半径	
	public Cricle(){}
	public Cricle(int x, int y, int r) {
		super();
		this.x = x;
		this.y = y;
		this.r = r;
	}
	public void pd(int x1,int y1){
		double m=Math.abs(x1-x);
		double n=Math.abs(y1-y);
		double r1=Math.sqrt(m*m+n*n);
		if(r1<=r){
			System.out.println("在圆内");
		}else{
			System.out.println("不在圆内");
			}
	}
	public void math(){
		System.out.println("圆的面积为:"+Math.PI*r*r);
	}
	public void show(){
		System.out.println("圆的坐标为:("+x+" ,"+y+")"+"\n半径为:"+r);
	}

	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;
	}

	public int getR() {
		return r;
	}

	public void setR(int r) {
		this.r = r;
	}

}

实验内容: 、定义一个名为Circle的,位于shape包中。要求如下: (1)需要描述二维坐标系中的位置,圆心的横、纵坐标值均取整数;描述半径,取双精度型。 (2) 无参构造方法圆心坐标设为坐标点,半径设为1.0;有参构造方法需要根据参数值设置圆心坐标和半径值。 (3) 提供一个计算面积方法double getArea()(4) 提供一个判断当前对象与参数对象是否相交的方法(相交方式见下图): boolean isIntersected(Circle another) (5) 提供一个判断当前对象是否包含参数对象的方法(包含方式见下图): boolean contains(Circle another) (6) 提供一个判断当前对象与参数对象的大小关系的方法(判断依据是半径半径之差的绝对值小于0.0001认为相等;返回负数表示当前对象小,0表示相等,正数表示当前对象) int compareTo(Circle another) (7) 提供返回当前的字符串的方法,格式为:[Circle(x,y)-raduis] String toString() 二、定义一个包含main方法TestCircle,位于shape包中。要求如下: (1) main方法中调用以下方法(2) 编写静态方法createArray,生成位置和大小均随机的10个对象,置于数组中。 (3) 编写静态方法sort对这10个对象进行升序排序,并输出。 (4) 编写静态方法computeArea计算这10个中互不相交和包含的面积之和。 提交要求:打包为可以执行的JAR文档,其中要包含源程序文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值