利用Math类的方法,打印一个近似圆
2015-01-31 19:47
176 查看
给定不同的半径,打印不同的圆
代码如下:
import java.lang.Math;
public class RoundCircle {
/**
* @param kuchensheng
* 运用Math类的方法打印一个近似圆
*/
public static void print(int r){
//假定圆心在坐标(r,r)
int y=r*2;//y的坐标
int x=0;
int c=0;//中间空格数量
int z=2;//每行递减量
for (int j=r*2; j >=0; j=j-z) {
x=getX( r,y);
System.out.print(getSpace(x) + "*");
c = (r - x) *2;
System.out.println(getSpace(c) + "*");
y -= z;
}
}
private static String getSpace(int i) {
// TODO Auto-generated method stub
String s="";
for(int j = 0; j< i;j++){
s +=" ";
}
return s;
}
public static int getX(int r,int y){
//解圆的标准方程
int x = y-r;
double t=Math.sqrt((r*r)-(x*x));
return (int)Math.round(r-t);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
print(9);
}
}
代码如下:
import java.lang.Math;
public class RoundCircle {
/**
* @param kuchensheng
* 运用Math类的方法打印一个近似圆
*/
public static void print(int r){
//假定圆心在坐标(r,r)
int y=r*2;//y的坐标
int x=0;
int c=0;//中间空格数量
int z=2;//每行递减量
for (int j=r*2; j >=0; j=j-z) {
x=getX( r,y);
System.out.print(getSpace(x) + "*");
c = (r - x) *2;
System.out.println(getSpace(c) + "*");
y -= z;
}
}
private static String getSpace(int i) {
// TODO Auto-generated method stub
String s="";
for(int j = 0; j< i;j++){
s +=" ";
}
return s;
}
public static int getX(int r,int y){
//解圆的标准方程
int x = y-r;
double t=Math.sqrt((r*r)-(x*x));
return (int)Math.round(r-t);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
print(9);
}
}
相关文章推荐
- Java利用可变参数函数写一个打印方法。
- 用java的math类方法打印一个圆
- 通过API文档查询Math类的方法,打印出近似圆,只要给定不同半径,圆的大小随之发生改变
- Java反射技术二:利用反射打印一个类的构造函数、方法、域
- 将一个标题打印到每页中的方法
- 一个利用扩展方法的实例:AttachDataExtensions
- ReportMachine 控制打印走纸的一个简单方法
- 利用数学方法来大大降低一个逻辑判断实现的难度的例子
- 利用struts commons BeanUtils写的一个自动生成toString()方法的工具
- 利用out关键字让一个方法返回多个值
- 深度复制一个对象方法。利用反射机制,不使用Serialization,也不使用ICloneable接口
- 利用互斥对象实现一个程序只运行一个实例的方法.
- 利用hook IE保存网页为mht的一个方法
- 打印自身源代码的程序,一个通用方法
- 不在lvm的情况下,利用lvm把2个分区合并成一个分区的方法
- 一个利用扩展方法的实例:AttachDataExtensions 转自 博客园 JeffreyZha
- 一个用C#写的利用OWC控件的方法
- 利用隐藏帧打印url的方法比较
- 一个简单的消除调试打印方法
- 利用数学方法来大大降低一个逻辑判断实现的难度的例子