注册 登录
编程论坛 JAVA论坛

【求助】关于求平均数的问题

汪小贱 发布于 2017-05-21 21:53, 1931 次点击
package name1;
import java.util.Scanner;
public class InNumber {
    public static void main(String args[])
    {
        int []a=new int[100];
        int i=0;
        int j=0;
        int sum=0;
        double aver=0.0;
        int num=0;
        System.out.println("-1表示输入结束");
        Scanner in=new Scanner(System.in);
        i=0;
        do
        {
            a[i]=in.nextInt();
            sum+=a[i];
            i++;
        }while(a[i-1]!=-1);
        sum=sum+1;
        aver=1.0*sum/(i-1);//这里可以求出浮点数类型平均数,但是在之前乘以1.0是什么意思????
        for(j=0;j<i;j++)
        {
            if(a[j]>aver)
            {
                num++;
            }
        }
        System.out.println("平均数为:"+aver);
        System.out.println("统计个数为:"+num);
    }

}
1 回复
#2
凌风zx2017-05-22 13:45
因为sum是个整数 i-1是个整数
sum/(i-1)也是个整数 28.5 会变成28  赋给double变28.0

1.0*sum把sum变浮点数
1.0*sum/(i-1)就是浮点数了

去掉试试就看出来了
1