您的位置:首页 > 编程语言 > Java开发

在控制台打印半径为R的圆

2015-06-06 00:00 357 查看
摘要: 在控制台打印半径为R的圆。
效果:其实就是:每行输出, N个空格、1个星号,M个空格、1个星号
这就需要分析那所对应的空格与星号的规律



根据上图可以得知:半径与行号的关系

public class Printcircle {

public static void main(String[] args)
{
// 定义圆的半径:R
int R = 7;
// 经过分析得到,就是每行都应该打印
// 几个空格 ,1个星号,  几个空格,  1个星号
for(int i = 0 ; i <= R * 2 ; i++)
{
double d = Math.sqrt(R * R - (R-i) * (R-i)); // 计算出两个星号之间距离的一半。
// 第一个星号之前的空格数为:
double starNum1 = R - d;
// 两个星号之前的空格数为:
double starNum2 = 2 * d;

// R - d 个空格、1个星号, 2 * d 个空格,1个星号
for(int j = 0 ; j < R - d ; j++)
{
System.out.print("  ");
}
System.out.print("* ");
for(int j = 0 ; j < (int)(2 * d) ; j++)
{
System.out.print("  ");
}
System.out.print(" *");

// 每行打印完成,应该换行
System.out.println();
}

}

}

效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 控制台 圆形