●基本要求:
(1) 在“实验4”包中编写“实验2.Point”和“实验2.Circle”类的子类“实验4.Point”、“实验4.Circle”,并重写其equals()、toString()方法;
(2) 在“实验4”包中编写测试类实验4.Test,并测试上述方法的正确性。
package Experiment4;
import Experiment2.Circle;
import Experiment2.Point;
public class circle extends Circle {
public int radius;
public Point center;
public circle(){
center = new Point(0,0);
radius = 0;
}
public circle(int r){
center = new Point();
radius = r;
}
public circle(Point c,int r) {
center = c;
radius = r;
}
@Override
public boolean equals(Object obj) {
boolean flag = false;
if(obj instanceof circle){
circle c = (circle) obj;
if(c.center.getX() == this.center.getX() && c.center.getY() == this.center.getY() && c.radius == this.radius){
flag = true;
}
}
return flag;
}
@Override
public String toString(){
return "圆心坐标:"+"("+ center.getX()+","+ center.getY()+")"+" "+"半径"+radius;
}
}
package Experiment4;
import Experiment2.Point;
public class point extends Point {
private int x,y;
public point(){
x = 0;
y = 0;
}
public point(int x1,int y1){
x = x1;
y = y1;
}
public void setX(int x){
this.x = x;
}
public void setY(int y1){
y = y1;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
@Override
public boolean equals(Object ob) {
boolean flag = false;
if(ob instanceof Experiment4.point){
Experiment4.point p = (Experiment4.point) ob;
if(p.getX() == this.getX() && p.getY()== this.getY()){
flag = true;
}
}
return flag;
}
@Override
public String toString(){
return "圆心坐标:"+"("+getX()+","+getY()+")";
}
}
package Experiment4;
import Experiment2.Circle;
import Experiment2.Point;
import java.util.Scanner;
public class Test {
public static void main(String [] args){
circle c = new circle();
point p = new point();
System.out.println("请输入圆1的圆心坐标及半径");
Scanner input = new Scanner(System.in);
c.center.setX(input.nextInt());
c.center.setY(input.nextInt());
c.radius = input.nextInt();
circle c2 = new circle();
System.out.println("请输入圆2的圆心坐标及半径");
Scanner input2 = new Scanner(System.in);
c2.center.setX(input2.nextInt());
c2.center.setY(input2.nextInt());
c2.radius = input2.nextInt();
System.out.println(c.equals(c2));
System.out.println("1的坐标");
Scanner input3 = new Scanner(System.in);
p.setX(input3.nextInt());
p.setY(input3.nextInt());
point p2 = new point();
System.out.println("2的坐标");
Scanner input4 = new Scanner(System.in);
p2.setX(input4.nextInt());
p2.setY(input4.nextInt());
System.out.println(p.equals(p2));
System.out.println(c.toString());
System.out.println(p.toString());
}
}