Java小程序计算圆周率代码

 更新时间:2017年09月11日 14:48:29   作者:磷火  
这篇文章主要介绍了Java小程序计算圆周率代码,有两种实现方法,喜欢的朋友可以参考下。

下面我们来介绍两种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

总结

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

相关文章

  • SpringBoot 签到奖励实现方案的示例代码

    SpringBoot 签到奖励实现方案的示例代码

    这篇文章主要介绍了SpringBoot 签到奖励实现方案的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • SpringBoot Admin 使用指南(推荐)

    SpringBoot Admin 使用指南(推荐)

    这篇文章主要介绍了SpringBoot Admin 使用指南(推荐),Spring Boot Admin 是一个管理和监控你的 Spring Boot 应用程序的应用程序,非常具有实用价值,需要的朋友可以参考下
    2018-01-01
  • SpringBoot集成slf4j日志配置的方法

    SpringBoot集成slf4j日志配置的方法

    本文主要介绍了SpringBoot集成slf4j日志配置的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • 深入了解Java 脚本化api编程

    深入了解Java 脚本化api编程

    Java 脚本 API 是一种独立于框架的脚本语言,使用来自于Java代码的脚本引擎 。可以使用Java语言编写定制/可扩展的应用程序并将自定义脚本语言选择留给最终用户 。下面我们来详细了解一下吧
    2019-06-06
  • Java线程池用法实战案例分析

    Java线程池用法实战案例分析

    这篇文章主要介绍了Java线程池用法,结合具体案例形式分析了java线程池创建、使用、终止等相关操作技巧与使用注意事项,需要的朋友可以参考下
    2019-10-10
  • feign客户端设置超时时间操作

    feign客户端设置超时时间操作

    这篇文章主要介绍了feign客户端设置超时时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • Spring IOC的三种实现方式详解

    Spring IOC的三种实现方式详解

    这篇文章主要介绍了Spring IOC的三种实现方式,在Spring框架中,IOC通过依赖注入来实现,而依赖注入主要有三种实现方式,构造器注入、Setter注入和字段注入,每种方式都有其特点、适用场景和优缺点,需要的朋友可以参考下
    2025-02-02
  • Java实现5种负载均衡算法(小结)

    Java实现5种负载均衡算法(小结)

    负载均衡是将客户端请求访问,通过提前约定好的规则转发给各个server,本文主要介绍了Java实现5种负载均衡算法,具有一定的参考价值,感兴趣的可以了解一下
    2022-06-06
  • 浅谈Java操作符与其优先级

    浅谈Java操作符与其优先级

    这篇文章主要介绍了浅谈Java操作符与其优先级,具有一定借鉴价值,需要的朋友可以了解下。
    2017-12-12
  • 浅谈springboot之JoinPoint的getSignature方法

    浅谈springboot之JoinPoint的getSignature方法

    这篇文章主要介绍了springboot之JoinPoint的getSignature方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论