package day01;
/**
* Created by sherry on 000019/3/19 13:55.
*/
/*直角坐标*/
class Coord{
/*横坐标*/
private int i;
/*纵坐标*/
private int j;
/*两个坐标之间的距离(坐标值必须都是正数)*/
public double getRange(Coord coord){
return Math.sqrt(Math.pow(Math.abs(this.i-coord.getI()),2)+Math.pow(Math.abs(this.j-coord.getJ()),2));
}
@Override
public String toString() {
return "Coord{" +
"i=" + i +
", j=" + j +
'}';
}
@Override
public boolean equals(Object o) {
if (o == null){
return false;
}
Coord coord = (Coord) o;
if (this.i == coord.getI()
&&this.j == coord.getJ()){
return true;
}else {
return false;
}
}
@Override
public int hashCode() {
int result = i;
result = 31 * result + j;
return result;
}
public Coord(int i, int j) {
this.i = i;
this.j = j;
}
public int getI() {
return i;
}
public void setI(int i) {
this.i = i;
}
public int getJ() {
return j;
}
public void setJ(int j) {
this.j = j;
}
}
public class DrawCircle {
public static void main(String[] args) {
drawCircle(20);
}
private static void drawCircle(int r) {
/*边框长度*/
int d = 2*r+1;
/*圆心坐标*/
Coord centerOfCircle = new Coord(r,r);
/*任意一点坐标*/
Coord coord;
for (int i = 0;i < d;i++){
for (int j = 0;j < d;j++){
coord = new Coord(j,i);
if (coord.equals(centerOfCircle)){
System.out.print("A ");
} else if (Math.abs(coord.getRange(centerOfCircle)-r)<0.5){
System.out.print("B ");
} else {
System.out.print("* ");
}
}
System.out.println();
}
}
}