`
53873039oycg
  • 浏览: 844074 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[代码片段]数组数据分段统计

    博客分类:
  • java
 
阅读更多

      

public void analyseData3(double[] scores, int maxScore, int passScore,
			int step, boolean mergeBelowPass) {
		int num = 0, start = 0, end = -1;
		if (!mergeBelowPass) {
			num = maxScore / step;
			end = maxScore / step * step;
			start = 0;
		} else {
			num = (maxScore - passScore) / step;
			end = passScore + (maxScore - passScore) / step * step;
			start = passScore - step;
			++num;
		}
		if (end < maxScore) {
			++num;
			end += step;
		}
		List<String> labelList = new ArrayList<String>();
		for (int i = start, j = 1; j <= num; i += step, j++) {
			labelList.add(new String((i == start ? "0" : i) + " ~ "
					+ (j == num ? maxScore : (i + step - 1))));
		}
		int[] numSum = new int[num];
		double exp = 0.00001;
		if (mergeBelowPass) {
			for (double d : scores) {
				if (d < passScore) {
					numSum[0]++;
				} else {
					int index = (int) Math
							.ceil((1.0 * (d - passScore + exp) / step));
					if (index >= num) {
						numSum[num - 1]++;
					} else {
						numSum[index]++;
					}
				}
			}
		} else {
			for (double d : scores) {
				int index = (int) (d / step);
				if (index >= num) {
					numSum[num - 1]++;
				} else {
					numSum[index]++;
				}
			}
		}
		for (int i = 0; i < labelList.size(); i++) {
			System.out.println(labelList.get(i) + "---=" + numSum[i]);
		}
	}

  

 

分享到:
评论

相关推荐

    ArcScene+AE+分段统计栅格数据.pdf

    在给定的代码片段中,首先通过 `ILayer` 接口获取到场景中的第一个图层 (`pLayer`),然后将其转换为 `IRasterLayer` 类型以访问栅格数据。这一步骤是处理栅格数据的基础。 #### 创建栅格游标 `IRasterCursor` 接口...

    PTA程序填空题14道.pdf

    尽管文档并未提供完整的循环队列程序代码,但从给出的代码片段可以推断,此部分程序应包含对队列元素的入队、遍历和清空操作。 ### C语言中数组和指针的基础使用: - **数组**:文档中出现了数据类型`DataType ...

    c++麻将源代码.pdf

    在这些代码片段中,我们看到了如何初始化、访问、修改数组元素以及遍历数组。 以上就是从提供的代码中提炼出的C++编程基础知识点。理解并掌握这些概念对于编写和调试C++程序至关重要。在实际项目中,如麻将游戏的...

    气象通用程序(fortran语言)

    - **实现代码**:在提供的代码片段中,`SPLINE.F`展示了自然立方样条插值的实现过程。这种方法确保了插值函数在整个定义域内的一阶和二阶导数都是连续的,从而得到更加平滑的结果。 ##### 2. 诊断计算 诊断计算是...

    C程序-计算机程序设计学习指导与练习答案

    这些代码片段不仅涵盖了C语言的基本语法,如变量声明、输入输出、算术运算、条件语句和循环,而且还涉及到了更高级的主题,如函数、数组、字符串操作和算法设计。它们共同构成了学习C语言编程的基础,对于初学者来说...

    东南大学2008-参考答案 (2).doc

    2. **阅读理解**:这部分需要考生理解并分析给出的C++代码片段,可能涉及到变量、循环、条件语句、函数调用等概念。 - 例如,问题可能要求解释某个函数的返回值、循环条件、变量的计算过程等。 3. **完善程序题**:...

    MATLAB实验一二 数值计算

    - 模糊查询:通过按Tab键实现自动补全函数名或其他代码片段。 - **变量名敏感性**: - MATLAB中变量名区分大小写。 - **表达式计算**: - 使用MATLAB内置函数计算各种数学表达式的值,并观察工作空间的变化。 ...

    OpenMP并行计算程序设计基础

    - **循环依赖性不强的任务**:例如对数组的不同片段进行独立处理。 #### 七、嵌套并行 嵌套并行是指在一个并行区域内嵌套另一个并行区域。这种技术可以进一步提升并行效率,尤其是在多层嵌套循环的情况下。 **...

    百度历年笔试题集锦(2006-2008)

    常见的内存分配策略包括分页、分段等,每种策略都有其适用场景和优缺点。针对不同场景,需要采取不同的内存管理策略。 以上是对百度历年笔试题集锦(2006-2008)中部分题目的详细解析,希望能够帮助读者更好地理解...

    freemarker总结

    l 假设数据模型中的user变量的值是Fred,则下面的代码: ${my.mail} l 输出结果: &lt;p&gt;Copyright (C) 1999-2002 Fred. All rights reserved. 1.6 算术运算符 FreeMarker表达式中完全支持算术运算,...

Global site tag (gtag.js) - Google Analytics