疯狂java 讲义第三章练习题---画圆
2014-05-14 15:29
218 查看
public class PaintRound{ /** * @author Dream_e. * @version v1.0 */ private int r;//圆的半径 PaintRound(int r){ this.r = r; } public void paint(){ int y = 2*r;//y的最大值为半径的2倍 int x = 0; int c = 0; int z = 2;//坐标轴递减量. for(int j = y; j >= 0; j-=z){ x = getX(r,y); System.out.print(getSpace(x)+"*"); c = (r-x)*2; System.out.println(getSpace(c)+"*"); y-=z; } } //计算X坐标. private int getX(int r, int y){ double temp = Math.sqrt(r*r-(r-y)*(r-y));//根据圆内的正角三角形计算出圆上某点到圆心的X轴距离 int x = (int)Math.round(r-temp); return x; } //计算要打印的空格数量. private String getSpace(int c){ String space = " "; for(int i = 0; i < c; i++){ space += " "; } return space; } public static void main(String[] args){ new PaintRound(10).paint(); } }
相关文章推荐
- Java疯狂讲义第三章练习题
- 疯狂java 讲义第三章练习题---画圆
- 疯狂JAVA讲义---第三章(下):运算符
- 疯狂JAVA讲义本章小结个人作业——第三章
- 第三章 数据类型和运算符 疯狂 Java 讲义
- 疯狂java讲义 第三章 数据类型和运算符
- 疯狂java讲义--第三章习题 画圆
- java疯狂讲义第四章练习题
- 疯狂JAVA讲义第三章练习
- [疯狂Java讲义精粹] 第三章|流程控制与数组
- 疯狂java讲义 第三章 数据类型和运算符
- 疯狂JAVA讲义---第十二章:Swing编程(三)拖放功能
- 疯狂JAVA讲义---第十一章(下):AWT编程-高级应用
- 疯狂JAVA讲义---第十二章:Swing编程(五)进度条和滑动条
- 疯狂JAVA讲义---第十二章:Swing编程(四)Applet和JApplet
- 疯狂JAVA讲义---第九章(中):常用类
- 疯狂JAVA讲义---第十三章:JDBC编程(上)
- 疯狂JAVA讲义---第十一章(上):AWT编程-布局管理器
- 疯狂JAVA讲义---第十章:异常处理
- 疯狂JAVA讲义---第十二章:Swing编程(七)JTree树