Java小程序求圆的周长和面积实例 原创

原创  更新时间:2017年09月11日 17:13:39   原创 作者:司机  
这篇文章主要介绍了首先用蒙塔卡洛算法求圆周率近似值,然后根据此近似值输出圆的周长和面积,具有一定参考价值,需要的朋友可以了解下。

在Java学习的过程中,需要经常拿一些小程序来练习。今天,我们就来看看一个利用蒙特卡洛算法计算圆周率,并输出指定半径的圆的周长和面积的小程序。

代码如下:

/**
 * auther 司机
 */
import java.util.Scanner;
public class Test011 {
 static double MontePI(int n) {
  double PI;
  double x, y;
  int i, sum;
  sum = 0;
  for (i = 1; i < n; i++) {
   x = Math.random();
   y = Math.random();
   if ((x * x + y * y) <= 1) {
   sum++;
   }
  }
  PI = 4.0 * sum / n;
  return PI;
 }
 public static void main(String[] args) {
  int n;
  double PI;
  System.out.println("蒙特卡洛概率算法计算圆周率:");
  Scanner input = new Scanner(System.in);
  System.out.println("输入点的数量:");
  n = input.nextInt();
  PI = MontePI(n);
  System.out.println("PI="+PI);  
   double radius;
   double area;
   double circle;
   Scanner input2 = new Scanner(System.in);
   System.out.println("输入圆半径");
   radius = input2.nextInt();
   circle = 2*PI*radius;
   area = radius*radius*PI;
   System.out.println("The area is"+ area);
   System.out.println("The circle is"+ circle);
  }
}

输出

蒙特卡洛概率算法计算圆周率:
输入点的数量:

然后你就可以在控制台输入点的个数,求圆周率的近似值,再输入想要求的圆的半径,就可以得到周长和面积了。

例:

蒙特卡洛概率算法计算圆周率:
输入点的数量:
9887766
PI=3.141522968889029
输入圆半径
5
The area is78.53807422222573
The circle is31.415229688890292

关于蒙特卡洛算法计算圆周率近似值,作者之前的文章已有记载。

以上是本文关于计算圆周长和面积的全部内容,希望本文对大家有所帮助。

相关文章

  • 详解Spring工厂特性

    详解Spring工厂特性

    今天带大家学习Spring的特性-工厂特性,文中有非常详细的介绍及代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • 详解解决IDEA2020.1版本的lombok插件问题

    详解解决IDEA2020.1版本的lombok插件问题

    这篇文章主要介绍了详解解决IDEA2020.1版本的lombok插件问题。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java8新特性Lambda表达式的一些复杂用法总结

    Java8新特性Lambda表达式的一些复杂用法总结

    lambda表达式是JAVA8中提供的一种新的特性,它支持Java也能进行简单的“函数式编程”。 下面这篇文章主要给大家介绍了关于Java8新特性Lambda表达式的一些复杂用法的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • 基于logback 实现springboot超级详细的日志配置

    基于logback 实现springboot超级详细的日志配置

    java web 下有好几种日志框架,比如:logback,log4j,log4j2(slj4f 并不是一种日志框架,它相当于定义了规范,实现了这个规范的日志框架就能够用 slj4f 调用)。这篇文章主要介绍了基于logback springboot超级详细的日志配置,需要的朋友可以参考下
    2019-06-06
  • Java中网络IO的实现方式(BIO、NIO、AIO)介绍

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

    这篇文章主要介绍了Java中网络IO的实现方式(BIO、NIO、AIO)介绍的相关资料,需要的朋友可以参考下
    2017-03-03
  • springmvc限流拦截器的示例代码

    springmvc限流拦截器的示例代码

    本篇文章主要介绍了springmvc限流拦截器的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 微信小程序之搜索分页功能的实现代码

    微信小程序之搜索分页功能的实现代码

    这篇文章主要介绍了微信小程序之搜索分页功能的实现代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • IDEA2022创建Maven Web项目教程(图文)

    IDEA2022创建Maven Web项目教程(图文)

    本文主要介绍了IDEA2022创建Maven Web项目教程,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Java实现解数独的小程序

    Java实现解数独的小程序

    最近在学习Java,然后上个月迷上了九宫格数独,玩了几天,觉得实在有趣,就想着能不能用编程来解决,于是就自己写了个,还真解决了。下面这篇文章就给大家主要介绍了Java实现解数独的小程序,需要的朋友可以参考借鉴。
    2017-01-01
  • java dump文件怎么生成和分析-JMAP用法详解

    java dump文件怎么生成和分析-JMAP用法详解

    这篇文章主要介绍了java dump文件怎么生成和分析-JMAP用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12

最新评论