package codes; public class FirstProject { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub circle(50); } public static void circle(int r) { // TODO Auto-generated method stub //横坐标,也就是左边圆边界到左边的距离 int x = 0 ; int y = 2 ; //步长设为2是为了调节屏幕纵横比。 //因为屏幕的行距大于列距,不进行调节显示出来的将是椭圆 for(int j = 2*r ; j >= 0 ; j-=y){ //去得左边界到左边的距离 x = getStr(r , j) ; //打印左边界 System.out.print(getSpace(x) + "*"); //打印圈内部分空白和圆右边界 System.out.println(getSpace(2*(r-x)) + "*"); } } //打印空白部分 public static String getSpace(int x) { // TODO Auto-generated method stub String str = " " ; for(int i = 0 ; i < x ; i++){ str += " " ; } return str; } //获取左边界到左边的距离 private static int getStr(int r, int j) { // TODO Auto-generated method stub int x = j - r ; double d = Math.sqrt((r * r) - (x * x)) ; return (int) Math.round((r-d)); } }