求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数

第二题

程序实现目标:
求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
程序要求:
输入:整型数组中的元素个数及各个元素。
输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。

import java.util.HashMap;
import java.util.Map;

/**
 * 程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
 * 程序要求:输入:整型数组中的元素个数及各个元素。
 * 输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。
 * @author lx
 */
public class Test {

	public static void main(String[] args) {
		// 平均数等于元素的情况无特殊处理
		int[] a = {4, 4, 4};
		count(a.length, a).forEach((k, v) -> System.out.println(k + "----" + v));
	}
	
	/**
	 * @param x 整型数组中的元素个数
	 * @param arr 各个元素
	 * @return 整型数组中元素的平均值,大于和小于此平均值的元素的个数
	 */
	public static Map<String, Object> count(int x, int[] arr) {
		// 元素平均值
		int average = 0;
		int sum = 0;
		for (int i = 0; i < x; i++) {
			sum += arr[i];
		}
		average = sum / x;
		
		// 大于平均值的元素个数
		int i = 0;
		// 小于平均值的元素个数
		int j = 0;
		
		for (int a = 0; a < x; a++) {
			if (arr[a] > average) {
				i++;
			}
			if (arr[a] < average) {
				j++;
			}
		}
		
		// 返回结果用map封装
		Map<String, Object> map = new HashMap<String, Object>();
		map.put("average", average);
		map.put("i", i);
		map.put("j", j);
		
		return map;
	}
	
}

版权声明:本文为lenglovexu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。