最小化数值误差
从大到小添加数字没有从小到大添加数字精确
在大数之前先增加小数是减小误差的一种方法
import java.util.*;
class Main {
public static void main(String[] args){
//Initialize sum
float sum = 0;
//Add 0.01,0.02,...,0.9,1 to sum
for(float i = 0.01f; i <= 1.0f ;i = i + 0.01f){
sum += i;
}
//Display result
System.out.println("The sum is " + sum);
//Add 0.01,0.02,...,0.9,1 to sum
double sum1 = 0;
for(double i = 0.01; i <= 1.0; i = i + 0.01){
sum1 += i;
}
//Display result
System.out.println("The sum1 is " + sum1);
//Add 0.01,0.02,...,0.9,1 to sum
double currentValue1 = 0.01;
double sum2 = 0;
for(int i = 0; i < 100; i++){
sum2 += currentValue1;
currentValue1 += 0.01;
}
//Display result
System.out.println("The sum2 is " + sum2);
//Add 0.01,0.02,...,0.9,1 to sum
double currentValue2 = 1.0;
double sum3 = 0;
for(int i = 0; i < 100; i++){
sum3 += currentValue2;
currentValue2 -= 0.01;
}
//Display result
System.out.println("The sum3 is " + sum3);
}
}

浙公网安备 33010602011771号