在控制台打印半径为R的圆
2015-06-06 00:00
357 查看
摘要: 在控制台打印半径为R的圆。
效果:其实就是:每行输出, N个空格、1个星号,M个空格、1个星号
这就需要分析那所对应的空格与星号的规律
![](http://static.oschina.net/uploads/space/2015/0606/123320_Ssaf_1428057.png)
根据上图可以得知:半径与行号的关系
效果如下:
效果:其实就是:每行输出, N个空格、1个星号,M个空格、1个星号
这就需要分析那所对应的空格与星号的规律
![](http://static.oschina.net/uploads/space/2015/0606/123320_Ssaf_1428057.png)
根据上图可以得知:半径与行号的关系
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(); } } }
效果如下:
![](http://static.oschina.net/uploads/space/2015/0606/123703_1GMI_1428057.png)
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统