题:通过API文档查询Math类的方法,打印如下图所示的近似圆,只要给定不同半径,圆的大小随之发生改变。
代码:
import java.util.*;
class DrawCircle
{
public static void main(String[] args)
{
System.out.print("输入圆圈的半径:");
Scanner s = new Scanner(System.in);
int r=s.nextInt();
paintCircle(r);
}
public static void paintCircle(int r){
int i=2;
int y=r;
for(int n=r*2;n>=0;n-=i){
int nk=getnk(r,y);
int x=r-nk;
System.out.println(paintSpace(x)+"*"+paintSpace(nk*2)+"*");
y-=i;
}
}
private static int getnk(int r,int y){
double nkNum=Math.sqrt((r*r)-y*y);
return (int)Math.round(nkNum);
}
private static String paintSpace(int k){
String s="";
for(int i=0;i
s+=" ";
}
return s;
}
}
结果:
说明:
如上图,写出方法getnk(int r,int y)方法。