Use of classes and objects

(1) Implement a Point class, which contains two int variables x and y representing coordinates, the construction methods Point() and Point(int xx, int yy), and the int getX() and int return values ​​of x and y int getY() method, double distance(Point) method to calculate the distance between two points. The method to calculate the square root is Math.sqrt(), such as:
double d=Math.sqtr(2);
(2) Implement a Circle class, which contains the Point type variable center representing the center of the circle, and the int radius variable representing the radius. And the construction methods Circle(), Circle(int xx,int yy,int r), Circle(Point c,int r), int perimeter(), double area() methods that return perimeter and area, return whether two circles Int relation (Circle c) and other methods for the same circle (returns 0), concentric circles (returns 1), intersecting circles (returns 2), separated circles (returns 3), and contained circles (returns 4) . The value of PI can use Math.PI constant.
(3) Implement the ClassTest class that tests the above two classes. This class creates several Point objects and Circle objects in the main method, calls related methods, and outputs the return value of the method to verify its correctness.
Point.java

package MyTest;//包名,根据需要自行建立
public class Point {
    
    
	int x;
	int y;
	public int getX() {
    
    
		return x;
	}
	public int getY() {
    
    
		return y;
	}
	public Point(){
    
    
		this.x=0;
		this.y=0;
	}
	public Point(int xx,int yy){
    
    
		this.x=xx;
		this.y=yy;
	}
	double distance(Point p){
    
    
		return Math.sqrt((this.x-p.x)*(this.x-p.x)+(this.y-p.y)*(this.y-p.y));
	}
}

//Circle.java
package MyTest;
public class Circle{
    
    
	int radius;
	Point center;
	public Circle(){
    
    
		center=new Point();
		this.radius=1;
	}
	public Circle(int xx,int yy,int r){
    
    
		center=new Point(xx,yy);
		radius=r;
	}
	public Circle(Point c,int r){
    
    
		center =c;
		radius=r;
	}
	public int perimeter(){
    
    
		return (int) (Math.PI *radius *2);	
	}
	public double area(){
    
    
		return Math.PI *radius *radius;	
	}
	public int relation(Circle c){
    
    
		double result=-1;
		result=this.center.distance(c.center);
		if(result>(this.radius+c.radius))
		{
    
    
			return 3;
		}else if(result==(this.radius+c.radius))
		{
    
    
			return 2;
		}else if(result==0&&this.radius!=c.radius){
    
    
			return 1;
		}else if(result==0&&this.radius==c.radius){
    
    
			return 0;
		}else{
    
    
			return 4;
		}		
	}
}

//Circle.java
package MyTest;
public class Circle{
    
    
	int radius;
	Point center;
	public Circle(){
    
    
		center=new Point();
		this.radius=1;
	}
	public Circle(int xx,int yy,int r){
    
    
		center=new Point(xx,yy);
		radius=r;
	}
	public Circle(Point c,int r){
    
    
		center =c;
		radius=r;
	}
	public int perimeter(){
    
    
		return (int) (Math.PI *radius *2);	
	}
	public double area(){
    
    
		return Math.PI *radius *radius;	
	}
	public int relation(Circle c){
    
    
		double result=-1;
		result=this.center.distance(c.center);
		if(result>(this.radius+c.radius))
		{
    
    
			return 3;
		}else if(result==(this.radius+c.radius))
		{
    
    
			return 2;
		}else if(result==0&&this.radius!=c.radius){
    
    
			return 1;
		}else if(result==0&&this.radius==c.radius){
    
    
			return 0;
		}else{
    
    
			return 4;
		}		
	}
}

Test.java//软件生成的主函数框架没粘,自己写system输出语句
	double cc=q.distance(p); 
	Circle pp=new Circle(p,5);
	Circle qq=new Circle(q,1);
	Circle pb=new Circle(3,4,2);
	Circle a1=new Circle(3,7,5);

Guess you like

Origin blog.csdn.net/qq_37771811/article/details/87910623