public static void circle(int r) { int x; int rr = r * r; for (int y = r; y >= -r; y--) { x = (int) (Math.sqrt(rr - y * y)); show(r, x); } } public static void show(int r, int x) { for (int i = -r; i < -x; i++) { System.out.print(" "); } System.out.print("*"); if (x > 0) { for (int i = -x+1; i < x; i++) { System.out.print(" "); } System.out.print("*"); } System.out.println(); }
唉比庆叔的差多了.....public static void drawCircle(int r) { final int r2=r*r; int j=0; for(int i=0;i<r;i++) { j=0; int a=(int)Math.sqrt(r2-(r-i)*(r-i)); for(;j<r-a;j++) { System.out.print(' '); } System.out.print('*'); for(;j<r+a;j++) { System.out.print(' ');
int r = 100 ; int rr = r * r ; for(int i = r ; i >= -r ; i -- ) { for(int j = -r ; j <= r ; j ++) { if(Math.abs(j) == (int) Math.sqrt(rr - i * i)) System.out.print("* ") ; else System.out.print(" ") ; } System.out.println() ; }
public static void circle(int r) { int x; int rr = r * r; for (int y = r; y >= -r; y--) { x = (int) (Math.sqrt(rr - y * y)); show(r, x); } } public static void show(int r, int x) { for (int i = -r; i < r; i++) { System.out.print(Math.abs(i) == x ? "*" : " "); } System.out.println(); }完善版本
我是初学者,我也来一个我写的程序 public class Circle { public static void main(String args[]){ int r = 6; int i,j,k; int d = 2 * r; for(i = 0;i < d; i++){ int y = Math.abs(r - i); int x = (int)Math.sqrt(r * r - y * y); for(j = 0; j < (r - x); j ++){ System.out.print(" "); } System.out.print("*"); for(k = (r - x + 1) ;k < (r + x);k ++){ System.out.print(" "); } System.out.println("*"); } } }
楼主【tteesstt】截止到2008-07-05 07:51:04的历史汇总数据(不包括此帖):
发帖的总数量:79 发帖的总分数:4000
结贴的总数量:79 结贴的总分数:4000
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
这里有答案 去看看
int x;
int rr = r * r;
for (int y = r; y >= -r; y--) {
x = (int) (Math.sqrt(rr - y * y));
show(r, x);
}
} public static void show(int r, int x) {
for (int i = -r; i < -x; i++) {
System.out.print(" ");
}
System.out.print("*");
if (x > 0) {
for (int i = -x+1; i < x; i++) {
System.out.print(" ");
}
System.out.print("*");
}
System.out.println();
}
{
final int r2=r*r;
int j=0;
for(int i=0;i<r;i++)
{
j=0;
int a=(int)Math.sqrt(r2-(r-i)*(r-i));
for(;j<r-a;j++)
{
System.out.print(' ');
}
System.out.print('*');
for(;j<r+a;j++)
{
System.out.print(' ');
}
System.out.println('*');
}
for(int i=r;i>=0;i--)
{
j=0;
int a=(int)Math.sqrt(r2-(r-i)*(r-i));
for(;j<r-a;j++)
{
System.out.print(' ');
}
System.out.print('*');
for(;j<r+a;j++)
{
System.out.print(' ');
}
System.out.println('*');
}
}
int r = 100 ;
int rr = r * r ;
for(int i = r ; i >= -r ; i -- ) {
for(int j = -r ; j <= r ; j ++) {
if(Math.abs(j) == (int) Math.sqrt(rr - i * i))
System.out.print("* ") ;
else
System.out.print(" ") ;
}
System.out.println() ;
}
int x;
int rr = r * r;
for (int y = r; y >= -r; y--) {
x = (int) (Math.sqrt(rr - y * y));
show(r, x);
}
} public static void show(int r, int x) {
for (int i = -r; i < r; i++) {
System.out.print(Math.abs(i) == x ? "*" : " ");
}
System.out.println();
}完善版本
public class Circle {
public static void main(String args[]){
int r = 6;
int i,j,k;
int d = 2 * r;
for(i = 0;i < d; i++){
int y = Math.abs(r - i);
int x = (int)Math.sqrt(r * r - y * y);
for(j = 0; j < (r - x); j ++){
System.out.print(" ");
}
System.out.print("*");
for(k = (r - x + 1) ;k < (r + x);k ++){
System.out.print(" ");
}
System.out.println("*");
}
}
}