
正文
java打印圆形代码 java输出圆形
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java中,使用for嵌套循环,怎样打印一个圆形?
public class PrintCircle {
/**
* @param args
*/
public static void main(String[] args) {
int n=1000;//n越大,才能越接近圆
PrintCircle p = new PrintCircle();
for(int i=0;i2*n;i++){
p.printPoint(n,i);
}
}
private int[] getXFromY(int y,int n)//n为半径,y2n,返回2个x
{
if(y=n){//上半侧
int x1=n-(int)Math.sqrt(n*n-(n-y)*(n-y));
int x2=(int)Math.sqrt(n*n-(n-y)*(n-y))+n;
return new int[]{x1,x2};
}
else if(y=2*n){//下半侧
int x1=n-(int)Math.sqrt(n*n-(n-y)*(n-y));
int x2=(int)Math.sqrt(n*n-(n-y)*(n-y))+n;
return new int[]{x1,x2};
}
return null;
}
private void printPoint(int n,int y){//半径n,在(x,y)的位置打印一个*
int x1=getXFromY(y,n)[0];
int x2=getXFromY(y,n)[1];
for(int i=0;i=2*n;i++){
if(i==2*n) System.out.println("\n");
if(i==x1||i==x2) System.out.print("*");
else System.out.print(" ");
}
}
}
相关问答
Q1: 用java for循环 实现用*打印出个圆形
其实和话菱形是一个道理的。
定义数组,或者String都可以,
提示1
空格 空格空格 *//后面的空格无需理会
空格空格 * 空格 空格 * //后面的不用理会
所以。 你可以定义一个 与圆直径相等的 String,或一位数组
这样用2个For循环就可以画出来了
第一个For是画 圆圈的直径以上部分,
第二For 是画 其下部分,代码与上面的接近。
Q2: 用java代码在控制台打印一个圆
public static void main(String[] args)
{
System.out.println("请输入一个数");
Scanner sc = new Scanner(System.in);
int n= sc.nextInt();
for (int i=0;i=n-1;i++)
{
for(int j=0;j(int)2*((n-sqrt((pow(n,2)-pow((n-i),2)))));j++)
System.out.print(" ");//打印 个空格
System.out.print("*");
for(int j=0;j4*sqrt((pow(n,2)-pow((n-i),2)));j++)
System.out.print(" ");//打印 个空格
System.out.println("*");
}
//倒转打印
for (int i=n-1;i=0;i--)
{
for(int j=0;j(int)2*((n-sqrt(pow(n,2)-pow((n-i),2))));j++)
System.out.print(" ");//打印个空格
System.out.print("*");
for(int j=0;j4*sqrt(pow(n,2)-pow((n-i),2));j++)
System.out.print(" ");//打印个空格
System.out.println("*");
}
}
Q3: 各位大侠,用java程序怎么输出一个圆形 圆形用*号打印出来
public class SSS {
public static void main(String[] args) {
int r = 30;
for (int y = 0; y = 2 * r; y += 2) {
long x = Math.round(r - Math.sqrt(2 * r * y - y * y));
long longLength = 2 * (r - x);
for (int i = 0; i = x; i++) {
System.out.print(' ');
}
System.out.print('*');
for (int j = 0; j = longLength; j++) {
System.out.print(' ');
}
System.out.println('*');
}
}
}
Q4: 老哥们,用Java打印一个圆形,可以直接复制粘贴在记事本就cmd运行的
我在e盘写了两个java类,显然是可以运行的。没报错的话,你是不是把两个类的输出写成一样的了?或者根本运行的是同一个文件。是不是跟JDK版本有关系,你看看你myeclipse8.5中引用的jdk和你的使用cmd中的jdk是否相同,如果还有问题,那么你可以去myeclipse中进行设置屏蔽该类型的检查错误。
关于java打印圆形代码和java输出圆形的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






