问题描述
给定圆的半径r,求圆的面积。
输入格式
输入包含一个整数r,表示圆的半径。
输出格式
说明:在本题中,输入是一个整数,但是输出是一个实数。
严格的输出7位小数,输出过多或者过少的小数位数都是不行的,都会被认为错误。
实数输出的问题如果没有特别说明,舍入都是按四舍五入进行。
样例输入
4
样例输出
50.2654825
数据规模与约定
1 <= r <= 10000。
提示
本题对精度要求较高,请注意π的值应该取较精确的值。你可以使用常量来表示π,比如PI=3.14159265358979323,也可以使用数学公式来求π,比如PI=atan(1.0)*4。
代码:
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main{
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int r=scan.nextInt();
double pi=Math.atan(1.0)*4;
double s=pi*r*r;
DecimalFormat df=new DecimalFormat("###.0000000");
System.out.println(df.format(s));
}
}
关于该编程题的两点说明:首先是关于小数点的保留位,其次是关于π的取值问题。
一、(1)Java提供DecimalFormate类,帮助我们用最快的速度将数字格式化为我们需要的样子;
(2)DecimalFormate类主要用“#”和“0”两种占有符来制定数字长度,“0”表示小数位,如果位数不够则用0填充,“#”表示整数 位,如果整数为,如果位数不够则空着,具体用法如上代码所示。
二、atan是正切函数(数学的tan) 这个式子的意思是pi等于4乘以1.0的正切值。