Excel下的数据挖掘:学生成绩统计分析实战之一分三率和离均率

第3章 一分三率和离均率

  计算一分三率,即平均分、合格率、优秀率和高分率,是成绩统计中最常见也是最需要的统计数据。

  • 3.1计算一分三率
    • 实例3-2
  • 3.2计算离均率
3.1计算一分三率

  计算一分三率,即平均分、合格率、优秀率和高分率,是成绩统计中最常见也是最需要的统计数据,从表3.1.01中可知道全级的平均分是504.7745,合格人数有439人,优秀人数有169人,高分人数有28人,计算各率并进行排名,这样可以知道本次考试全级情况和各班情况。在统计各班平均分时,用了AVERAGEIFS函数,这是一个可按多个条件求平均值的函数,在“总分平均分”下插入函数“=AVERAGEIFS ( D : D: D:

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Java中,你可以使用Apache POI库来操作Excel文件,并实现学生成绩的增、删、改、查功能。以下是一个示例代码,演示了如何使用Apache POI库实现这些功能: ```java import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelManager { private static final String FILE_NAME = "学生成绩.xlsx"; private static final String SHEET_NAME = "成绩"; public static void main(String[] args) { try { // 加载Excel文件 FileInputStream file = new FileInputStream(FILE_NAME); Workbook workbook = new XSSFWorkbook(file); Sheet sheet = workbook.getSheet(SHEET_NAME); // 添加学生成绩 addScore(sheet, "张三", 80); addScore(sheet, "李四", 90); // 删除学生成绩 deleteScore(sheet, "张三"); // 修改学生成绩 updateScore(sheet, "李四", 95); // 查询学生成绩 double score = getScore(sheet, "李四"); System.out.println("李四的成绩为:" + score); // 统计分析 double averageScore = calculateAverageScore(sheet); System.out.println("平均成绩为:" + averageScore); // 保存Excel文件 FileOutputStream outFile = new FileOutputStream(FILE_NAME); workbook.write(outFile); outFile.close(); // 关闭资源 file.close(); workbook.close(); } catch (IOException e) { e.printStackTrace(); } } private static void addScore(Sheet sheet, String name, double score) { int lastRowNum = sheet.getLastRowNum(); Row row = sheet.createRow(lastRowNum + 1); row.createCell(0).setCellValue(name); row.createCell(1).setCellValue(score); } private static void deleteScore(Sheet sheet, String name) { for (Row row : sheet) { if (row.getCell(0).getStringCellValue().equals(name)) { sheet.removeRow(row); break; } } } private static void updateScore(Sheet sheet, String name, double newScore) { for (Row row : sheet) { if (row.getCell(0).getStringCellValue().equals(name)) { row.getCell(1).setCellValue(newScore); break; } } } private static double getScore(Sheet sheet, String name) { for (Row row : sheet) { if (row.getCell(0).getStringCellValue().equals(name)) { return row.getCell(1).getNumericCellValue(); } } return 0; } private static double calculateAverageScore(Sheet sheet) { int count = 0; double sum = 0; for (Row row : sheet) { sum += row.getCell(1).getNumericCellValue(); count++; } return sum / count; } } ``` 请确保已经添加了Apache POI库的依赖。此示例将学生成绩保存在名为"学生成绩.xlsx"的Excel文件中的"成绩"工作表中。你可以根据自己的需求修改文件名和工作表名称。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值