public class Test1 {
int i=901;
double m=0;
double flag=1.0;
double b=0.0;
public void result(){
System.out.println("i “+“m(i)”);
System.out.println(“1 “+“4.0000”);
for(int a=101;a<=i;a=a+100){
b=0;
flag=1;
for(double j=1.0;j<=a;j=j+1){
b=flag/(2j-1)+b;
flag=-flag;
}
m=4b;
String s=String.format(”%.4f”,m);
System.out.println(a+” "+s);
}
}
}
public class Test1Demo {
public static void main(String[] args){
Test1 t1=new Test1();
t1.result();
}
}
本题使用的是IDEA2018版本。
本题我选择的双重嵌套循环,外面的for循环是为了保持a的1 101 201 301…的增加,里面的for循环则是进行计算。
该题需要注意在第一次101的循环结束后,需要在二层循环外将b和flag的值重新初始化,不然会出现错误,201算出来的结果会出错。
表示正负转换可以使用flag 在循环中用flag=-flag来改变正负号。
在答案不正确的时候,可以先检查一遍代码,如果实在检查不出来,可以使用IDEA的DEBUG功能,可以一步一步的通过数值变化来找出问题所在,这里我深有体会!
如果你有疑问或者发现本文有错误,请评论告诉我,感谢。
本文为原创,如要转载请标注出处。
最后,如果本文对你有帮助的话,请给我一个赞!