`
53873039oycg
  • 浏览: 841996 次
  • 性别: 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++程序至关重要。在实际项目中,如麻将游戏的...

    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