首页 > 代码库 > Java近似圆
Java近似圆
效果图与原理图
代码:
1 public class Circle 2 { 3 public static void main(String[] args) 4 { 5 int radius = 10; 6 System.out.println("输出半径为" + radius + "的近似圆"); 7 paint(radius); 8 } 9 10 public static void paint(int r)11 {12 //假设圆心在(r, r)13 int x; //当前的x坐标14 int y = 2 * r; //当前的y坐标15 int space; //每行中间的空格数量16 int d = 2; //每行的递减量17 for(int j = 2*r; j>=0; j=j-d)18 {19 x = getX(r, y);20 space = 2 * (r-x);21 System.out.print(getSpace(x+10) + "*"); //左边的*号,同时向右平移了10个单位22 System.out.println(getSpace(space) + "*"); //右边的*号23 y -= d;24 }25 }26 27 public static int getX(int r, int y)28 { {29 30 double tempX;31 tempX = Math.sqrt(r*r - (y-r)*(y-r));32 return (int)Math.round(-tempX +r); //Math.round(double d)返回最接近参数的 long,所以需要进行类型强制转换33 }34 35 public static String getSpace(int space)36 {37 String s = "";38 for(int i=0; i<space; i++)39 {40 s = s+" ";41 }42 return s;43 }44 }
Java近似圆
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。