//画圆
public class HomeWork {
public static void main(String[] args) {
//设置圆的半径
int r = 10;
//y为直径
int y = 2 * r;
for(int i = 0;i <= y;i += 2 ){
//计算的为圆上的点到圆垂直平分线的距离
int a = (int)Math.round(Math.sqrt(r * r - Math.pow(r - i, 2)));
//计算的为圆上的点到左边界的距离
int b = r - a;
//左半圆
for(int j = 1;j <= b;j++){
System.out.print(" ");
}
System.out.print("*");
//右半圆
for(int k = 1;k <= 2 * a;k++){
System.out.print(" ");
}
System.out.println("*");
}
}
}
总结:注意最外层迭代条件应该为i+=2否则会变成椭圆,这个条件控制圆是椭圆还是圆,记得初始条件从0开始,注意输出语句中换行的控制
网友评论