疯狂java 讲义第三章练习题---画圆
2013-05-01 21:35
429 查看
思路:1.一行一行的打印,没一行会打印两个*,确定靠左边的那个*后,再间隔(r-x)*2空格,打印第二个*。
2.第一个*的坐标对应的x(0<=x<=r),故第一个*的坐标(r-sqrt(r*r-(r-y)*(r-y)) ,y);
2.第一个*的坐标对应的x(0<=x<=r),故第一个*的坐标(r-sqrt(r*r-(r-y)*(r-y)) ,y);
package chapter3; public class PaintingCycle { private static int r; PaintingCycle(int r){ this.r=r; } private static void paint(){ int y = r*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; } } private static int getX(int r,int y){ int x = y-r; double t = Math.sqrt(r*r-x*x); return (int)Math.round(r-t); } private static String getSpace(int c){ String s = ""; for(int i=0;i<c;i++) s+= " "; return s; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub new PaintingCycle(10).paint(); } }
相关文章推荐
- 疯狂java 讲义第三章练习题---画圆
- Java疯狂讲义第三章练习题
- 疯狂java讲义 第三章 数据类型和运算符
- [疯狂Java讲义精粹] 第三章|流程控制与数组
- 第三章 数据类型和运算符 疯狂 Java 讲义
- 疯狂java讲义 第三章 数据类型和运算符
- 疯狂java讲义--第三章习题 画圆
- 疯狂JAVA讲义---第三章(下):运算符
- java疯狂讲义第四章练习题
- 疯狂JAVA讲义本章小结个人作业——第三章
- 疯狂JAVA讲义第三章练习
- 疯狂Java讲义笔记_面向对象(上)
- 疯狂Java讲义(附光盘 案例驱动 注解详细 李刚
- 疯狂Java讲义中的程序,使用代理服务器来获取网上的资源
- 疯狂java讲义 第三版 笔记
- 疯狂JAVA讲义---第六章(中):面向对象二
- 比较运算符—[疯狂java讲义]
- 疯狂java讲义第三版第五章第一题
- 疯狂Java讲义-包装类学习笔记
- Java疯狂讲义(四)