,,,,,,
1条回答 默认 最新
- 码农_凉城 2017-04-12 07:27关注
import java.util.Scanner;
public class Circle{
public static void main(String[] agrs)
{
System.out.print("请输入圆半径:");
paint(new Scanner(System.in).nextInt());
}public static void paint(int r) { //设圆心在(r,r)处,控制台起始点为(0,0),把由此建立的直角坐标系的第四象限看成第一象限 int x = 0;//x坐标 int y = 0;//y坐标 int c = 0;//左右两个*之间的空格数 int z = 2;//用于控制纵横比,设为2刚刚好 for(int i = 0;i <= 2*r; i += 2) { //先获取每一行左边*号的坐标X x = getX(r,y); //打印第一个*号之前的空格和*号 System.out.print(getSpace(x) + "*"); //打印两个*号之间的空格 c = 2 * (r - x); System.out.println(getSpace(c) + "*"); y += 2; } } public static int getX(int r,int y) { //由直角三角形勾股定理可以得到圆的边上的点的横坐标x return (int)Math.round((r - Math.sqrt(r * r -(r - y)*(r - y)))); } public static String getSpace(int s) { String space = ""; for (int j = 0;j < s;j ++) { space += " "; } return space; } }
解决 无用评论 打赏 举报