A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

给一个数组,怎么求数组中比平均数大的数字个数?

3 个回复

倒序浏览
  1. public static int getMaxNums(int[] arr){
  2.                 int sum = 0;//元素总和
  3.                 int count = 0;//初始化平均数的个数
  4.                 for(int i = 0; i < arr.length-1;i++){
  5.                         sum = sum + arr[i];
  6.                 }
  7.                 for(int j = 0; j < arr.length-1;j++){
  8.                         if(arr[j]>sum/arr.length){
  9.                                 count++;//如果找到比平均数大的元素,个数+1
  10.                         }
  11.                 }
  12.                
  13.                 return count;
  14.         }

  15.         public static void main(String[] args) {
  16.                 // TODO Auto-generated method stub
  17.                 int[] a = {2,3,4,6,7};//测试数组
  18.                
  19.                  System.out.print(getMaxNums(a));//输出比平均数大的个数

  20.         }
复制代码
回复 使用道具 举报
思路很重要,1。先求出平均数;2.遍历数组找出大于平均数的
回复 使用道具 举报
public class Test1 {

        public static void main(String[] args) {

                int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

                double average = arrayAverage(array);

                System.out.println("平均数是: " + average);

                int count = 0;

                for (int item : array) {
                        if (item > average) {
                                count++;
                        }
                }

                System.out.println("这个数组里比平均值大的元素个数是" + count);

        }

        private static double arrayAverage(int[] array) {
                double arraySum = 0D;

                for (int item : array) {
                        arraySum += item;
                }

                return arraySum / array.length;
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马