Java小程序计算圆周率代码

所属分类: 软件编程 / java 阅读数: 39
收藏 0 赞 0 分享

下面我们来介绍两种Java编程中实现计算圆周率的方法。

方法一:割圆法

计算公式为:

π≈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)); 
 } 
} 
} 

输出结果:

请输入割圆次数:
12
第0次切割,为正6边形,圆周率π≈3.0
第1次切割,为正12边形,圆周率π≈3.1058285412302498
第2次切割,为正18边形,圆周率π≈3.132628613281237
第3次切割,为正24边形,圆周率π≈3.139350203046872
第4次切割,为正30边形,圆周率π≈3.14103195089053
第5次切割,为正36边形,圆周率π≈3.1414524722853443
第6次切割,为正42边形,圆周率π≈3.141557607911622
第7次切割,为正48边形,圆周率π≈3.141583892148936
第8次切割,为正54边形,圆周率π≈3.1415904632367617
第9次切割,为正60边形,圆周率π≈3.1415921060430483
第10次切割,为正66边形,圆周率π≈3.1415925165881546
第11次切割,为正72边形,圆周率π≈3.1415926186407894
第12次切割,为正78边形,圆周率π≈3.1415926453212157

方法二:无穷级数法

求圆周率π的级数公式为:

Π=2*(1/1+1/3+1/3*2/5+1/3+2/5+3/7+1/3+2/5+3/7+4/9+···)

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; 
 } 
} 

输出为:

请输入精度:
1E-15
在精度为1.0E-15的条件下,π约等于:
3.141592653589792

总结

以上是圆周率π的计算方法的全部内容,希望对大家有所帮助!

更多精彩内容其他人还在看

spring boot 静态资源处理方法

本篇文章主要介绍了spring boot 静态资源处理方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解spring boot 使用application.properties 进行外部配置

这篇文章主要介绍了详解spring boot 使用application.properties 进行外部配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java实现分页的前台页面和后台代码

这篇文章主要为大家详细介绍了Java实现分页的前台页面和后台代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解spring面向切面aop拦截器

spring中有很多概念和名词,比如过滤器、拦截器、aop等。这篇文章主要介绍了详解spring面向切面aop拦截器,有兴趣的可以了解一下。
收藏 0 赞 0 分享

Java easyui树形表格TreeGrid的实现代码

这篇文章主要为大家详细介绍了Java easyui树形表格TreeGrid的实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java的NIO与IO的详解及对比

这篇文章主要介绍了Java的NIO与IO的详解及对比的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中网络IO的实现方式(BIO、NIO、AIO)介绍

这篇文章主要介绍了Java中网络IO的实现方式(BIO、NIO、AIO)介绍的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 敏感信息加密处理

本文主要介绍了Java 敏感信息加密处理的相关知识:1)敏感信息加密处理我们要实现什么;2)敏感信息加密处理我做了些什么;3)敏感信息加密实现方法。具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

详解使用Spring3 实现用户登录以及权限认证

这篇文章主要介绍了详解使用Spring3 实现用户登录以及权限认证,这里整理了详细的代码,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

Java的内存机制详解

本文主要介绍了Java的内存机制的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享
查看更多