目标:使用Java语言用字符‘*’打印出圆形。

思路:假设要打印一个半径为r的圆,那么圆上的每个点到圆心距离都是r,而我们又知道了圆心的坐标(r,r),故可以知道当某个点距圆心距离为r时就打印‘*’。于是可以用len来表示圆在该行的弦长,而弦两侧要输出‘*’。

注意事项:

  • 首先如果每行都进行如上判断,那么会发现输出的圆成了“椭圆”,其高度差不多是宽度的两倍,故我们改变一下,每两行进行一次如上判断,可以输出一个近似圆。
  • 其中几个函数作用如下:

Math.abs();//求绝对值
Math.sqrt();//求开方根
Math.round();//求近似整数

JAVA用“*”打印出圆形实验案例

代码示例:

public class Circle {
	private double r;
	double eps = 1;
	Circle(double r){
		this.r = r;
	}
	public void printCricle() {
		double R = 2*r;
		for(int i = 0;i <= R;i+=2) {
			double y;
			if(i <= r)	y = r-i;
			else y = i-r;
			double len =  Math.round(Math.sqrt(r*r - y*y));
			for(int j = 0;j < r-len;j++)	System.out.print(" ");
			System.out.print("*");
			for(int j = 0;j < 2*len;j++)	System.out.print(" ");
			System.out.println("*");
		}
	}
}

效果图:

JAVA用“*”打印出圆形实验案例

相关文章:

  • 2021-05-03
  • 2022-12-23
  • 2022-12-23
  • 2021-12-03
  • 2021-11-10
  • 2021-12-17
  • 2022-02-11
猜你喜欢
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-15
  • 2022-01-23
相关资源
相似解决方案