Java实现计算圆周率π的两种方法
2015-12-12 15:24
549 查看
方法一:割圆法
计算公式为:
π≈3*2^n*y_n其中,n代表割圆次数,y_n代表圆中内嵌正6*n边形的边长
package 计算π的近似值; import java.util.Scanner; public class Example { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("请输入割圆次数:"); int n=scan.nextInt(); cut(n); } static void cut(int n){ double y=1.0; for(int i=0;i<=n;i++){ double π=3*Math.pow(2, i)*y; System.out.println("第"+i+"次切割,为正"+(6+6*i)+"边形,圆周率π≈"+π); y=Math.sqrt(2-Math.sqrt(4-y*y)); } } }
方法二:无穷级数法
求圆周率π的级数公式为:package 计算π的近似值; import java.util.Scanner; public class Example1 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); System.out.println("请输入精度:"); double z=scan.nextDouble(); System.out.println("在精度为"+z+"的条件下,π约等于:\n"+jishuPI(z)); } static double jishuPI(double z){ double sum=2; int n=1; int m=3; double t=2; while(t>z){ t=t*n/m; sum=sum+t; n++; m+=2; } return sum; } }
相关文章推荐
- java内部类之匿名内部类
- Spring常用的四大注解
- 用java实现动态分区
- SpringMVC上传下载
- java内部类之方法内部类
- java线程学习
- 类的加载过程
- 往android - Eclipse中导入新项目时,出现Remove @Override annotation错误提示
- 【java】当文件目录不存在时自动创建文件目录
- java中内部类之成员内部类
- LeetCode 155 : Min Stack (Java)
- JAVA-策略设计模式
- MySQL入门接触记录--从安装到Java通过JDBC连接MySQL数据库
- 好用的eclipse插件收集
- java文件编译后,同一个文件出现"$"的class
- Spring mvc 报错:No qualifying bean of type [java.lang.String] found for dependency:
- Eclipse不能不说的秘密:远程Debug
- Java基础3——IO
- 重新安装JDK造成weblogic实例无法无法启动问题
- JAVA-工厂方法设计模式