Discuss / Java / 收获超多的一道题

收获超多的一道题

Topic source

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.


  • 1

Reply