解题思路:
1.根据已知半径计算球的体积。
2.寻找计算公式
(4π*R^3)/3
也就是π乘以球半径的立方,再乘以4/3
3.根据公式写出代码
解题中遇到的问题:
1. 在循环后面加上了分号,导致代码无线运行,在运行时卡死,没有任何输出。
while(cin.hasNext());
2. 在计算4/3时候,因为4和3都是整型,得出的结果也是整型。结果为1而不是1.333~ 所以改成4.0/3.
3.题意为保留三位小数,不是以四舍五入保留三位小数。
// BigDecimal c = new BigDecimal(d);
// double f1 = c.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue(); 四舍五入
java.text.DecimalFormat df =new java.text.DecimalFormat("#.000");
df.format(d); // 直接格式化成小数点后三位
4.AC代码为:
import java.*;
import java.math.BigDecimal;
import java.util.*;
public class Main
{
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
double r;
while(cin.hasNext())
{
r = cin.nextDouble();
double b =Math.pow(r, 3);
double y =3.1415927;
double d =y*b*(4.0/3);
// BigDecimal c = new BigDecimal(d);
// double f1 = c.setScale(3, BigDecimal.ROUND_HALF_UP).doubleValue();
java.text.DecimalFormat df =new java.text.DecimalFormat("#.000");
System.out.println(df.format(d));
}
}
}