JAVA求数组的平均数,众数,中位数[通俗易懂]

JAVA求数组的平均数,众数,中位数[通俗易懂]目录1、名称解释2、实例代码(1)求平均数(2)求中位数(3)求众数1、名称解释平均数:是指一组数据之和,除以这组数的个数,所得的结果就是平均数。中位数:中位数是指把一组数据从小到大排列,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。众数:众数是指一组数据中出现次数最多的那个数,众数可以是0个或多个。2、实例代码(1)求平均数publicstaticdoublem..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

1、名称解释

2、实例代码 

(1)求平均数

(2)求中位数

(3)求众数


1、名称解释

平均数:是指一组数据之和,除以这组数的个数,所得的结果就是平均数。

中位数:中位数是指把一组数据从小到大排列,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以2,所得的结果就是中位数。

众数:众数是指一组数据中出现次数最多的那个数,众数可以是0个或多个。

2、实例代码 

(1)求平均数

public static double mean(int[] arr) {
		int sum = 0;
		for (int i = 0; i < arr.length; i++) {
			sum += arr[i];
		}
		return (double) sum / arr.length;
	}

(2)求中位数

public static double median(int[] arr) {
		// 先排序
		Arrays.sort(arr);
		// 如果是偶数,则为中间两个数的和除以2
		if (arr.length % 2 == 0) {
			return (double) ((arr[arr.length / 2 - 1] + arr[arr.length / 2])) / 2;
		}
		// 否则就是中间这个数
		return arr[arr.length / 2];
	}

(3)求众数

public static List<Integer> mode(int[] arr) {
		Map<Integer, Integer> map = new HashMap<>();
		Set<Map.Entry<Integer, Integer>> set = map.entrySet();
		List<Integer> list = new ArrayList<>();
		// 结果
		List<Integer> res = new ArrayList<>();
		// 统计元素出现的次数,存入Map集合
		for (int item : arr) {
			map.put(item, map.getOrDefault(item, 0) + 1);
		}
		// 将出现的次数存入List集合
		map.forEach((k, v) -> {
			list.add(v);
		});
		//集合排序
		Collections.sort(list);
		// 得到最大值
		int max = list.get(list.size() - 1);
		// 根据最大值获取众数
		for (Map.Entry<Integer, Integer> entry : set) {
			if (entry.getValue() == max) {
				res.add(entry.getKey());
			}
		}
		return res;
	}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192555.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • golang 2020激活码(破解版激活)[通俗易懂]

    golang 2020激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月16日
    425
  • FPGA和CPLD的比较[通俗易懂]

    FPGA和CPLD的比较[通俗易懂]1FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。2CPLD更适合触发器有限而乘积丰富的结构,更适合完成复杂的组合逻辑;FPGA更适合于触发器丰富的结构,适合完成时序逻辑。3cpld连续式布线结构决定了他的时序均匀的可预测的,而fpga的分段式布线结构决定了其延时的不可预测性。cpld比fpga速度快。4在编程上fpga比cpld具有更大的灵活性。cpld通过修改具有固

    2022年5月6日
    75
  • linux卸载已安装的jdk_linux卸载tomcat

    linux卸载已安装的jdk_linux卸载tomcat卸载JDK1、先输入java-version查看是否安装了jdk2、如果安装了,检查下安装的路径whichjava(查看JDK的安装路径)3、卸载rm-rfJDK地址(卸载JDK)rm-rf/usr/java/jdk/jdk1.8.0_172/4、vim命令编辑文件profilevim/etc/profile删除配置的环境变量,至此JDK卸载完毕5、检查下自带的jdk命令:rpm-qa|grepjavarpm-qa|grep…

    2022年10月1日
    0
  • 安全日志审计系统服务器,日志审计服务器「建议收藏」

    安全日志审计系统服务器,日志审计服务器「建议收藏」日志审计服务器内容精选换一换本地使用远程桌面连接登录Windowsserver2012云服务器,报错:122.112…,服务器频繁掉线,Windows登录进程意外中断。系统资源不足或不可用。服务启动失败。通过VNC方式登录云服务器。单击打开服务管理,选择“管理工具>事件查看器>Windows日志>系统>筛选当前日志”。事件查看器在“事件级别”负载均…

    2022年6月4日
    104
  • vue环境安装与配置(Linux安装常用开发工具)

    vue安装环境搭建提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录vue安装环境搭建前言一、node.js安装和配置1.下载安装node.js2.配置默认安装目录和缓存日志目录3.node.js环境配置4.配置淘宝镜像源二、使用步骤1.引入库2.读入数据总结前言vue前端框架的环境搭建一、node.js安装和配置1.下载安装node.js官网下载最新版本:https://nodejs.org/en/download/可以下载安装包(安装教程见:http

    2022年4月18日
    67
  • 网易云音乐如何将多个账号的音乐合并到一个账号

    网易云音乐如何将多个账号的音乐合并到一个账号

    2021年5月17日
    714

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号