定义一个BigDecimal 型的sum,来计算放进去的数字的和
定义一个int 型的index,定义放进去的数字的个数
平均数的话,就是sum / index了
如果清零,那么sum 置0, index 置 0
用BigDecimal  不用double,防止浮点数之间的非精确计算造成计算误差

解决方案 »

  1.   

    可以写个图形界面,也可以使用while循环把功能实现了,代码就不帮你写了
    自己动手练练吧,有问题了可以拿出来问
      

  2.   

    定义一个scanner 用来接收键盘输入
    在while中完成求和,求平均数,统计输入个数等工作
    可以定义一个reset输入,如果输入等于reset,将while里面的和,输入个数清零
    就提示这么多吧,剩下的,自己查api吧
    java.util.Scanner
    java.math.BigDecimal
    while 循环
      

  3.   

    package shi;/**
     * 1. 可以不断地向其中加入浮点数字(例如:3.2, 5.5, 8.17 等)
    浮点数的要求:绝对值在0 到 1000 之间 
       2. 可以返回当前已经加入了多少项
       3. 可以返回当前数值的累加和 
       4. 可以返回当前数值的平均值 
       5. 可以清空“累加统计器”,一切都从头开始,就像这个对象刚刚创建一样
     * @author Administrator
     */
    public class Accumulator { private int count;//当前加了多少项
    private float sum;//当前数值的累加和


    boolean validateNum(float number){
    if(Math.abs(number)<=1000&&Math.abs(number)>=0){
    return true;
    }
    return false;

    }

    /**
     * 清空累加器
     */
    public void clearAccumulator(){

    }

    public void add(float number) throws Exception{
    if(validateNum(number)){
    count++;
    sum=sum+number;
    }
    else{
    throw new Exception("增加的浮点数不符合规范,绝对值应该小于等于1000");
    }
    }

    /**
     * 获得平均值
     * @return
     */
    public float getAverage(){
    if(count!=0){
    return sum/count;
    }
    else{
    return 0f;
    }
    } /**
     * 获得数量
     * @return
     */
    public int getCount() {
    return count;
    } /**
     * 获得总和
     * @return
     */
    public float getSum() {
    return sum;
    }


    public static void main(String args[]) throws Exception{
    Accumulator acc = new Accumulator();
    acc.add(3.5f);
    acc.add(4.5f);
    acc.add(8.17f);
    acc.add(5.5f);
    System.out.println("当前总共加了"+acc.getCount()+"个");
    System.out.println("当前总和为"+acc.getSum());
    System.out.println("当前平均值为"+acc.getAverage());
    }


    }
    绝对值应该是大于等于0吧?