当前位置: 首页 > 编程笔记 >

Java小程序计算圆周率代码

贺靖
2023-03-14
本文向大家介绍Java小程序计算圆周率代码,包括了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

总结

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

 类似资料:
  • 这是我的代码: 由于某种原因,与可接受值相比,这段代码只产生了小数15位的pi值。我试图通过增加精度值来解决这一点;这增加了位数,但只有前15个仍然是准确的。我试着改变它计算算法的方式,它也不起作用。所以我的问题是,是否可以对这段代码做些什么来使它更加精确,或者我必须使用另一种算法?我将非常感谢对此的帮助,因为我不知道如何在Python中使用这么多的数字进行操作。我希望能够控制程序确定和显示的(正

  • 本文向大家介绍java实现代码统计小程序,包括了java实现代码统计小程序的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java代码统计小程序,供大家参考,具体内容如下 可以测试每周你的工作量 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Java小程序求圆的周长和面积实例 原创,包括了Java小程序求圆的周长和面积实例 原创的使用技巧和注意事项,需要的朋友参考一下 在Java学习的过程中,需要经常拿一些小程序来练习。今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序。 代码如下: 输出: 然后你就可以在控制台输入点的个数,求圆周率的近似值,再输入想要求的圆的半径,就可以得到周长和

  • 我正在制作一个方法,该方法应该计算一定时期内某个金额的利率(这些值已经在参数中定义)。这是我到目前为止拥有的代码: 我正在制作嵌套的for循环,正如您在那里看到的那样,那里缺少代码。这里我遇到了一些麻烦。第一个for循环贯穿年份,另一个应该计算总量。为了清楚变量“int年份”中定义的年份,假设它是7,那么程序应该计算每年数量的增长,因此: 主要方法如下所示: 我很感激我能得到的任何帮助!

  • 问题内容: 我正在上我的第一门Java编程课,这是我的一流项目。我对如何处理感到困惑。任何帮助或纠正将不胜感激。 您可以通过使用以下序列来近似常量PI的值: 提示用户输入i的值(换言之,使用该系列中的多少项)来计算PI。例如,如果用户输入10000,则求和该系列的前10,000个元素,然后显示结果。 除了显示最终结果(您的PI的最终近似值)外,我还希望您沿中间结果以每10次幂计算的方式显示。因此,

  • 本文向大家介绍Java 蒙特卡洛算法求圆周率近似值实例详解,包括了Java 蒙特卡洛算法求圆周率近似值实例详解的使用技巧和注意事项,需要的朋友参考一下 起源  [1946: John von Neumann, Stan Ulam, and Nick Metropolis, all at the Los Alamos Scientific Laboratory, cook up the Metrop