代码改变世界

点是否在圆里

2017-12-27 11:50  澄序源  阅读(250)  评论(0编辑  收藏  举报

圆的类

package com.hanqi.yuan;

public class Circle {
	double r;
	double a0;
	double a1;
	public Circle(double a0 , double a1) {
		this.a0 = a0;
		this.a1 = a1;
	}
	//Point p = new Point();
	//  计算面积;
	public void suan (int r) {
		this.r = r;
		double s = 3.14*(r*r);
		System.out.println("圆的面积为:" + s);
	}
	
	//  计算点在不在圆里;
	public void zai () {
		a0 = ((a0 - r) * (a0 - r)) + ((a1 - r) * (a1 - r)) ;
		float b = (float)Math.sqrt(a0);
		// (x - r 的平方 + y - r 的平方) 开方  <  r;
		
		//( x2 - x1) 的平方  + (y2 - y1) 的平方  开方
		
		System.out.println("两点之间的距离为:" + b);
		if (b < r ) {
			System.out.println("点在圆中");
			if(b == 0) {
				System.out.println("点在圆心上");
			}
		} else {
			System.out.println("点不在圆中");
		}
		
		if (b == r) {
			System.out.println("点在圆的边上");
		}
		
	}
}	
	

 点的类

package com.hanqi.yuan;

public class Point {
	public int x;
	public int y;
	public Point() {
	}
	public void yuns(int x, int y) {
		this.x = x;
		this.y = y;
		float a1 = x*x+y*y;
		a1 = (float) Math.sqrt(a1);
		System.out.println("离原点的距离为:" + a1);
	}

	
	
}

 

package com.hanqi.yuan;

public class Main {
	public static void main(String[] args) {
		Point point = new Point( );
		System.out.println("=================↓");
		point.yuns( 5 , 5 ); 
		// 分别提供 x , y  的值 计算点在坐标系中离原点的位置
		
		System.out.println("=================↓");
		System.out.println("x轴的值为:"+point.x);
		System.out.println("y轴的值为:"+point.y);
		
		System.out.println("=================↓");
		Circle circle = new Circle(point.x , point.y);
		circle.suan(5);  //提供一个半径  计算圆的面积;	
		
		System.out.println("=================↓");
		circle.zai();
		
		System.out.println("==================");
	}
}

/*

要求:

定义一个二维空间的点的类,      // class Point

使用构造方法提供 ?? 可以设置这个点的x, y坐标,   // public  Point

并计算这个点到原点的距离, 原点定义为0, 0  
 // 		double a1 = x*x+y*y;    Math.sqrt(a1);
 
定义一个平面圆的类,     // class Circle;

圆有一个引用类型的属性, Point类,   //  ??

作为圆心, 有一个半径属性, 提供计算此圆面积的方法, 
// double s = 3.14*(r*r);
 
另外再提供一个方法, 
//  public void zai
 以Point类型作为参数,   //  ??
 
 并计算出此点是否在圆的范围内
 */