-
2020-11-27 09:33:59
java求平均值可能会出现越界,造成错误。
java在使用二分法查找数据时,会计算头尾索引数据的平均值,在海量数据的情况下,如果使用错误方式,就造成溢出,使索引无效。
- 错误方式:
- int index=(a+b)/2; //a,b在足够大时,相加会造成溢出,形成负值,造成错误。
- 正确方式:
- int index=a+(b-a)/2; //不会有溢出
更多相关内容 - 错误方式:
-
java计算平均值
2022-01-29 23:22:00package scanner; import java.util.Scanner;... //输入多个数字,并求其和与平均值,每输一个数用空格确认 Scanner scanner = new Scanner(System.in); //和 double sum = 0; //计算输了多少个数字 .package scanner; import java.util.Scanner; public class Demo3 { public static void main(String[] args) { //输入多个数字,并求其和与平均值,每输一个数用空格确认 Scanner scanner = new Scanner(System.in); //和 double sum = 0; //计算输了多少个数字 int m=0; //通过循环判断是否还有输入,并在里面对每一次进行求和统计 while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); m++; sum=sum+x; System.out.println("你输入了第"+m+"个数据,当前数据的sum="+sum ); } System.out.println(m+"个数和为:"+sum); System.out.println(m+"个数的平均数为:"+(sum/m)); scanner.close(); } }
-
java利用数组求平均值,最大值,最小值
2020-09-04 22:49:30java利用数组求平均值,最大值,最小值。需要的朋友可以过来参考下,希望对大家有所帮助 -
java用list集合存储学生信息并算出成绩平均值操作
2020-08-18 14:21:56主要介绍了java用list集合存储学生信息并算出成绩平均值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
计算java中的平均值
2021-03-05 20:12:37虽然我假设输入值足够小,不会出现这个问题,但这里有一个用于非常大的输入值的片段: BigDecimal sum = BigDecimal.ZERO; for(String arg : args){ sum = sum.add( new BigDecimal( arg ) ); } 这种方法有几个优点...只需对您的代码进行一些小的修改(为了清晰起见,使用一些var重命名):
double sum = 0; //average will have decimal point
for(int i=0; i < args.length; i++){
//parse string to double, note that this might fail if you encounter a non-numeric string
//Note that we could also do Integer.valueOf( args[i] ) but this is more flexible
sum += Double.valueOf( args[i] );
}
double average = sum/args.length;
System.out.println(average );
请注意,循环也可以简化:
for(String arg : args){
sum += Double.valueOf( arg );
}
编辑:OP似乎想要使用args数组.这似乎是一个String数组,因此相应地更新了答案.
更新:
正如zoxqoj正确指出的那样,上面的代码中没有处理整数/双溢出.虽然我假设输入值足够小,不会出现这个问题,但这里有一个用于非常大的输入值的片段:
BigDecimal sum = BigDecimal.ZERO;
for(String arg : args){
sum = sum.add( new BigDecimal( arg ) );
}
这种方法有几个优点(尽管速度稍慢,所以不要将它用于时间关键操作):
>保持精度,双精度,你将逐渐松开精度与数学运算的数量(或根本不是精确的精度,取决于数字)>实际上消除了溢出的可能性.但请注意,BigDecimal可能大于double或long的大小.
-
java8实现list集合中按照某一个值相加求和,平均值等操作代码
2020-08-18 14:44:08主要介绍了java8实现list集合中按照某一个值相加求和,平均值等操作代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
Java、计算平均值和标准方差
2022-01-31 11:40:07在商务应用程序中经常需要计算数据的平均值和标准方差。平均值就是数字的简单平均。标准方差则是一个统计数字,给出了在一个数字集中各种数据距离平均值的聚集紧密度。例如,一个班级的学生的平均年龄是多少?年龄...在商务应用程序中经常需要计算数据的平均值和标准方差。平均值就是数字的简单平均。标准方差则是一个统计数字,给出了在一个数字集中各种数据距离平均值的聚集紧密度。例如,一个班级的学生的平均年龄是多少?年龄相差近吗?如果所有的学生都是同龄的,那么方差为0。
编写一个程序,提示用户输入10个数字,然后运用下面的公式,显示这些数字的平均值及标准方差。
package pack2; import java.util.Scanner; public class BitOperation { public static void main(String[] args) { try(Scanner input = new Scanner(System.in);) { System.out.print("Enter ten numbers: "); double[] numbers = new double[10]; for (int i = 0; i < numbers.length; i++) numbers[i] = input.nextDouble(); System.out.println("The mean is "+getMean(numbers)+ "\nThe stand deviation is "+getStandDeviation(numbers)); } } //平均值 public static double getMean(double...numbers) { return getSum(numbers) / numbers.length; } //方差 public static double getStandDeviation(double...numbers) { double sum = 0.0; for (double i : numbers) { sum += i * i; } sum -= Math.pow(getSum(numbers), 2) / numbers.length; return Math.sqrt(sum / (numbers.length - 1)); } //前n项和 public static double getSum(double...numbers) { double sum = 0.0; for (double i : numbers) { sum += i; } return sum; } }
-
java求平均数函数
2021-04-12 19:04:21实验二:类与对象一——类的创建及封装前言:Java 是一种完全面向对象......此例题反映的是利用均值定理求最值的方法,但应注意三个条件: ⅰ)函数式中各项必须都是正数; ⅱ)函数式中含变数的各项的和或积必须是常数; ... -
【java】求平均值
2019-05-24 23:06:44要求:求平均分,去掉一个最高分,去掉一个最低分,返回平均值(scores一定大于3) 思想:先在for循环里面求出最大值和最小值,循环后面再把数组里的每个内容进行相加得sum,最后返回值里面再减去最大值和最小值... -
java:求和求平均值
2020-02-29 16:54:44java:求和求平均值 题目 问题描述 从键盘输入10个浮点数,求出它们的和以及平均值,要求用函数实现 输入格式 测试数据的输入一定会满足的格式。 1 10 (1行10列的向量) 输出格式 要求用户的输出满足的格式... -
Java实现若干个数计算平均值并保留小数位 java计算平均值 java四舍五入保留小数
2019-11-02 10:13:46Java实现若干个数计算平均值并保留小数位 java计算平均值 java四舍五入保留小数 一、需求 1、在项目中,要计算若干个指标的平均值,找了一圈,发现JDK中没有提供,于是乎,造一个。 2、因若干个指标不确定,... -
java求平均数的函数
2021-03-11 12:39:29Java 实现计算数的和及平均值 班级:xxxxxxx 姓名:xxxxxxx 学...利用Excel 函数求平均数大家在生活中遇到较大或较多数字计算时,总是怕出 错,感到头痛,而利用 Excel 函数解决这些问题,就简单多 了。函数是 Excel 一种... -
Java实现 LeetCode 637 二叉树的层平均值(遍历树)
2020-12-21 18:07:11637. 二叉树的层平均值 给定一个非空二叉树, 返回一个由每层节点平均值组成的数组. 示例 1: 输入: 3 / \ 9 20 / \ 15 7 输出: [3, 14.5, 11] 解释: 第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3... -
Java计算平均成绩
2021-02-25 19:42:06编写一个程序,根据用户输入的总人数和总成绩计算平均成绩。要求程序能够处理总人数或者总成绩不是数字时的情况。根据题目要求得知,在程序中需要对多种异常情况进行不同的处理。此时就用到了在《Java try catch语句... -
java实例(1)---求平均值,保姆级详解,新手必看(附代码)
2021-07-19 12:08:05java实例之(1)—求平均值 我新开个坑—java实例,喜欢的观众大大可以订阅哦!!! 文末有完整代码(⊙o⊙)哦 1. 思路 做这个实例之前,我们需要看一个数学思路------求平均数的方法 这里我采取最直观的方法: 先求... -
java代码-最大值,最小值,平均值
2021-07-15 02:58:12java代码-最大值,最小值,平均值 -
Java:计算平均数
2021-03-28 12:59:56import java.util.Scanner; public class CalculateAverage { public static void main(String args[]){ System.out.println("请输入数字(数字之间用一个空格隔开):"); Scanner numbers = new Scanner(System... -
java8 利用lambda表达式对map集合求和,或平均值、最大值、最小值
2020-04-16 14:16:16直接看例子: IntSummaryStatistics statistics = (IntSummaryStatistics) list .stream() .collect( Collectors.summarizingInt... } 扩展:我们用得到的结果 .get 会发现,如图,可以直接获取平均值,最大最小值 -
用Java计算平均值
2020-12-19 19:36:00尽管我假设输入值将足够小而不会出现问题,但以下代码段可用于非常大的输入值: BigDecimal sum = BigDecimal.ZERO; for(String arg : args){ sum = sum.add( new BigDecimal( arg ) ); } 这种方法有几个优点(尽管... -
Java求两个数平均值
2021-03-05 20:46:25如何正确的求2个数的平均值。在练习算法二分查找的时候发现的,以前没有注意到的bug备注:数据以int类型为例一、以前的通用写法/*** 求a+b平均值* @param a* @param b* @return a+b的平均值*/static int avg(int a ,... -
Java求数组的平均值
2021-10-29 15:37:30//实现一个方法 avg, 以数组为参数, 求数组中所有元素的平均值(注意方法的返回值类型). double sum = 0; for (int value : arr) { sum += value; } return (1.0*sum)/arr.length; } public static void main... -
Java代码---求数组中的平均值
2020-03-07 13:37:17Java代码—求数组中的平均值 /** * 求数组中的平均值 */ class Demo5 { public static void main(String[] args) { int[] array = {1,2,3,4,5,1,2,8}; System.out.println(average(array)); } private s... -
java集合中最大值、平均值以及总和计算问题(BigDecimal类型)
2021-11-05 10:06:12取集合中的最大值、平均值以及总和 最大值(此处列举实体类中字段类型为BigDecimal) 实体类如下: @ApiModel("实体类") @Data public class MFnnclChange implements Serializable { private BigDecimal money;... -
java代码-数组的最大值,最小值,平均值
2021-07-15 02:57:01java代码-数组的最大值,最小值,平均值 -
3-9_JAVA中计算平均值和和_
2021-10-02 16:19:42解决了JAVA中计算3个数的和和平均值问题 -
java代码-定义一个一维数组,求出数组的最大值,最小值,平均值。
2021-07-16 14:06:46java代码-定义一个一维数组,求出数组的最大值,最小值,平均值。 -
JAVA求数组平均值
2021-02-28 19:08:57现在能不能想个办法只用一个方法a1(a),把数组a,b,c,d的值全部求出来并赋给a2,b2,c2,d2, 就是说能不能不把: public static double a1(double a[]) { double result=0;int i=0; while (i result+=a[i++]; return ... -
java中的各种平均数
2018-11-30 17:25:08import java.text.... * 功能:计算并比较各类型平均数,调和<=几何<=算术<=平方 */ public class Average { private final static double dmax=999;//Double.MAX_VALUE; ... -
java求两个数的平均值-这么简单我竟然不会?
2019-01-15 18:20:48背景:结合上篇的java位运算,突发奇想,特此总结,如何正确的求2个数的平均值,通过本片文章也让你们认识到bug是如何深埋在你的编程中的。 备注:以int计算为例。 1 通用写法 public static int avg(int x ,int...