题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2002
Problem Description
根据输入的半径值,计算球的体积。
Input
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input
1
1.5
Sample Output
4.189
14.137Hint
#define PI 3.1415927代码:
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in);
double r;
double s;
final double PI=3.1415927;
while (cin.hasNext()) {
r = cin.nextDouble();
s = 4*PI*r*r*r/3;
System.out.printf("%.3f\n",s);
}
}
}
OJ结果:Presentation Error
求大侠帮忙看下,谢谢。
Problem Description
根据输入的半径值,计算球的体积。
Input
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。
Output
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。
Sample Input
1
1.5
Sample Output
4.189
14.137Hint
#define PI 3.1415927代码:
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in);
double r;
double s;
final double PI=3.1415927;
while (cin.hasNext()) {
r = cin.nextDouble();
s = 4*PI*r*r*r/3;
System.out.printf("%.3f\n",s);
}
}
}
OJ结果:Presentation Error
求大侠帮忙看下,谢谢。
改成
while (true)
试下
import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in);
double r;
double s;
final double PI=3.1415927;
int i=0;
while (cin.hasNext()) {
r = cin.nextDouble();
s = 4*PI*r*r*r/3;
if(i==0)
{
System.out.printf("%.3f",s);
i=1;
}
else
System.out.printf("\n%.3f",s);
}
}
}
也是Presentation Error哦。。
acm死循环也可以过的System.out.printf("%.3f\n",s);
改成
System.out.printf("%.3lf\n",s);double要用%lf
at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.io.PrintStream.format(Unknown Source)
at java.io.PrintStream.printf(Unknown Source)
at Main.main(Main.java:15)
double r;
double s;
final double PI=3.1415927;
while (true) {
r = cin.nextDouble();
s = 4*PI*r*r*r/3;
System.out.printf("%.3lf\n",s);
}
}
}
Wrong Answer