請大神看看,為什么程序運行結果和計算器計算結果不一樣?
求2/1+3/2+5/3+8/5+13/8=?
public class HelloWorld {
? public static void main(String[] args) {
double sum = 0.0;
double fz = 2.0;
double fm = 1.0;
for(int i = 0; i <= 5; i ++){
sum += (fz / fm);
fm = fz;
fz += fm;
}
System.out.println("sum:"+sum);
? }
}
2017-04-11
2017-04-11
public class HelloWorld {
兩個值交換,需要用一個中間值進行轉化一下。
public static void main(String[] args) {
double sum = 0.0;
double fz = 2.0;
double fm = 1.0;
double t=0.0;
for (int i = 0; i <5; i++) {
sum += (fz / fm);
t=fz;
fz += fm;
fm = t;
}
System.out.println("sum:" + sum);
}
2017-04-11
i=0時 fz = 2.0 fm = 1.0 ?sum = 2.0 ? 當i = 1時, fm = fz = 2 ?fz+=fm(fz = fz+ fm = 2+2=4) ?此時sum = 2.0 按你代碼以此類推 當然不一樣?