以下是一个简单的Java程序,用于自动汇总数据并生成表格:

import java.util.HashMap;
import java.util.Map;

public class TableSummarizer {
    
    public static void main(String[] args) {
        // 假设有三个部门,每个部门有三个员工,他们的销售额如下:
        int[][] sales = {
            {5000, 6000, 7000},
            {8000, 9000, 10000},
            {11000, 12000, 13000}
        };
        
        // 计算每个部门的总销售额和每个员工的总销售额
        int[] departmentTotals = new int[sales.length];
        int[] employeeTotals = new int[sales[0].length];
        for (int i = 0; i < sales.length; i++) {
            int departmentTotal = 0;
            for (int j = 0; j < sales[i].length; j++) {
                departmentTotal += sales[i][j];
                employeeTotals[j] += sales[i][j];
            }
            departmentTotals[i] = departmentTotal;
        }
        
        // 生成表格
        Map<String, Object[]> data = new HashMap<>();
        data.put("部门销售额汇总", new Object[] {"部门", "销售额"});
        for (int i = 0; i < sales.length; i++) {
            data.put("部门" + (i+1), new Object[] {"部门" + (i+1), departmentTotals[i]});
        }
        data.put("员工销售额汇总", new Object[] {"员工", "销售额"});
        for (int j = 0; j < sales[0].length; j++) {
            data.put("员工" + (j+1), new Object[] {"员工" + (j+1), employeeTotals[j]});
        }
        
        // 输出表格
        for (String key : data.keySet()) {
            Object[] row = data.get(key);
            System.out.println(key + "\t" + row[0] + "\t" + row[1]);
        }
    }
}

此程序将生成以下输出:

部门销售额汇总	部门	销售额
部门1	部门1	18000
部门2	部门2	27000
部门3	部门3	36000
员工销售额汇总	员工	销售额
员工1	员工1	24000
员工2	员工2	27000
员工3	员工3	30000

这个程序使用了一个HashMap来保存表格的数据,其中键是表格的行号,值是该行的数据。在计算每个部门和员工的销售额总和后,程序将这些数据添加到HashMap中,并使用循环遍历该HashMap并输出表格。


原文地址: https://www.cveoy.top/t/topic/b0nG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录