import java.util.*; public class Example2 

public static void main(String args[]) 

Scanner reader = new Scanner(System.in); 
double Sum = 0; 
int  Couter1 = 0; 
while (reader.hasNextDouble()) 
{double Double1 = reader.nextDouble(); 
Couter1 += 1; 
Sum = Sum + Double1; 
} System.out.printf("%d 个数的和为%f\n",Couter1,Sum); 
System.out.printf("%d 个数的平均值是%f\n",Couter1,Sum/Couter1); } 
} D:\Java>java Example2 



2 个数的和为2.000000 
2 个数的平均值是1.000000 
(2)改了一下 
System.out.printf("%d 个数的和为%f",Couter1,Sum); 
System.out.printf("%d 个数的平均值是%f",Couter1,Sum/Couter1); 
就变成 
D:\Java>javac Example2.java D:\Java>java Example2 


end 
2 个数的和为2.0000002 个数的平均值是1.000000 多了0.0000001出来了 

解决方案 »

  1.   

    嗯 没错 用java提供的BigDecimal类吧
      

  2.   

    我用Myeclipse6.5  JDK1.6运行了结果如下:1
    1
    e
    2 个数的和为2.000000
    2 个数的平均值是1.000000
    1
    1
    e
    2 个数的和为2.0000002 个数的平均值是1.000000是正确的。
      

  3.   

    :\Java>java Example2 


    end 
    2 个数的和为2.0000002 个数的平均值是1.000000 
    没看到多在哪里啊.....后边的2是
    "2 个数的平均值是1.000000"
    中间少了一个换行而已嘛