首页 > 代码库 > 疯狂java 讲义第三章练习题---画圆
疯狂java 讲义第三章练习题---画圆
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(); }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。