public class Main {
public static void main(String[] args) {
float pi = 0f;
float sign = 1.0f;
for (int i = 1; i < 100000; i += 2) {
pi = pi + 4*sign/i;
sign = -sign;
}
System.out.printf("%.2f", pi);
第一次错犯了几个错误:
1.sign 和 i都是整型,除了i取1的时候,其余结果都为0。。所以算成了4
2.printf(String, object)。。。printf后面要跟着string,所以没有双引号的System.out.printf(%.2f,pi)不对
3.float sign = 1.0赋值报错。因为float的赋值后面要加f,不然1.0默认为double,double不能赋值给float.
Sign in to make a reply
王真真真王
public class Main {
public static void main(String[] args) {
float pi = 0f;
float sign = 1.0f;
for (int i = 1; i < 100000; i += 2) {
pi = pi + 4*sign/i;
sign = -sign;
}
System.out.printf("%.2f", pi);
}
}
第一次错犯了几个错误:
1.sign 和 i都是整型,除了i取1的时候,其余结果都为0。。所以算成了4
2.printf(String, object)。。。printf后面要跟着string,所以没有双引号的System.out.printf(%.2f,pi)不对
3.float sign = 1.0赋值报错。因为float的赋值后面要加f,不然1.0默认为double,double不能赋值给float.