用*号绘制一个正圆

用*号绘制一个正圆。
package net.csdn.liwei;

public class PrintACircle {

 public static void main(String[] args) {
  PrintCircle p=new PrintCircle();
  p.Print();
 }

}
class PrintCircle{           //画一个R=10的圆
 double y;                //y坐标
 int x,m;                 //x坐标,m为*的位置
 public void Print(){
  for(y=10;y>=-10;y--){        //坐标一行一行向下
  m=(int)(2*Math.sqrt(100-y*y)); //区出圆的x坐标值,屏幕行距大于列距,2为调整值
  for(x=1;x<30-m;x++){                    //30为中心轴,画左边的点
   System.out.print(" ");
   }
  System.out.print("*");
  for(;x<30+m;x++) {                    //画右边的点
   System.out.print(" ");
   }
  System.out.print("*");
  System.out.println();              //打完换行
     }
 }
}
 

 

昨天写的程序,把它改了一下,让它更像面向对象的,不过有点过了.

没加注释,还是原来的。

//基于面向对象的思想重新做这个小程序
//将PrintCos1作成一个画余弦曲线的类,将PrintACosLine类作为主类

package net.csdn.liwei;

public class PrintACosLine {

 public static void main(String[] args) {
  
         PrintCos p=new PrintCos();
         p.printAll();
 }

}
class PrintCos{
 private double y;
 private int x,m;
  private void printLeftStar(){
  for(x=1;x<m;x++){
   System.out.print(" ");
  }
  System.out.print("*");
 }
 private void printRightStar(){
  for(;x<62-m;x++){
   System.out.print(" ");
  }
  System.out.print("*");
  }
 public void printAll(){
  for(y=1;y>=-1;y-=0.1){
   m=(int)(Math.acos(y)*10);
   this.printLeftStar();
   this.printRightStar();
   System.out.println();
  }
 }

 
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值