在《疯狂java讲义》的第三章有这么个题目“通过API文档查询Math类的方法,打印出如下所示的近似圆,只要给定不同半径,圆的大小随之发生改变(如果需要使用复杂的数学运算,可以查阅Math类的方法或者参考9.3节的内容)”

T_3_2.java 的源代码如下
[code lang="java"]/*打印近似圆,给定不同的半径,圆的大小随之发生改变*/
public class T_3_2
{
public static void main (String[] args)
{
//定义半径
int r=6;
//定义y为圆的纵坐标,其中y=y+2是让设置纵坐标的步长,可以调整椭圆的“胖瘦”
for (int y=0;y<=2*r ;y=y+2 )
{
long x= Math.round(r - Math.sqrt( 2 * r * y - y * y));
for (int i=0;i<=2*r ;i++ )
{
//i==x是指某一个纵坐标对应的一个横坐标,i==2*r-x 是指该纵坐标对应的第二个横坐标
if (i==x||i==2*r-x)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
System.out.print("\n");
}
}
}[/code]

效果图:
划近似圆

分类: Java

2 条评论

ikanon · 2011/12/02 16:05

:ymy: 依然技术流~!

[回复]

发表评论

电子邮件地址不会被公开。 必填项已用*标注