【发布时间】:2017-06-22 18:27:36
【问题描述】:
如何获取所选公司所有员工的平均工资? 我首先选择公司,然后传递 ID,然后根据该 ID,我将所有员工都放到那里,并在表格中显示他们的信息。目标是得到这个组中每个人的平均工资。
<%@page import="data.Employee"%>
<%@page import="data.Company"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="company" type="data.Company" scope="request"/>
<% List<Employee> employees = company.getEmployees();
double sum=0.0;
%>
<table border="1">
<tr>
<td>ID</td>
<td>Name</td>
<td>Salary</td>
</tr>
<%
for(int i=0; i <employees.size(); i++){
sum += employees.get(i).getSalary();
%>
<tr>
<td><%=employees.get(i).getId()%></td>
<td><%=employees.get(i).getNom()%></td>
<td><%=employees.get(i).getSalary()%></td>
</tr>
<% } %>
</table>
//get the average salary of all employees ::: This is working based on JChris's answer
<p>Average salary of all employees in this company:<%=sum/(double)employees.size()%> </p>
//this is returning zero.
<p> New average method: <%=company.getAverageSalary()%></p>
【问题讨论】:
-
回答了你之前的问题,这个问题也应该得到回答,还是我错过了什么?我的意思是,你有一个
Company的实例,可以简单地调用company.getAverageSalary()。无需从员工导航到其公司。 stackoverflow.com/a/42058263/7492402 -
@P.Merkle 我的 JSP 中有
company.getAverageSalary(),它返回 0.0 ,但是 JChrist 的答案也在同一页面上,它返回了正确的答案。怎么了?这应该如何纠正? -
如果不知道您的
company对象来自哪里,这很难说。你是通过CompanyDTO.getAll()加载的吗? -
@P.Merkle 我更新了我的代码,你会看到我导入的内容和使用的 bean,以及 JSP 代码。代码现在包含 JChrist 提供的答案,这符合他的建议,但我在最后一行中输入的第二种方法不会返回相同的平均值,它返回零。