- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我创建了两个从基本“Employee”类扩展而来的类。我在下面展示了 Employee 和 Salesman 类。我需要配置 Salesman 类来显示年薪总额。员工类打印没有问题,但是,我无法让推销员类打印年薪。我确信这很简单,但我被困住了。如有任何帮助,我们将不胜感激!
这是我当前得到的输出:
2014 年员工:
员工姓名:Smuck,Jenna,月薪=$3,000.00,年薪=$36,000.00
销售员姓名:Joans,Barbara,月薪=$3,200.00,年销售额=$100,000.00
销售员姓名:McMains,Ashley,月薪=$2,900.00,年销售额=$400,000.00
高管姓名:Seibert,Greg,月薪=$5,000.00,股票价格=$49.00
2014 年所有员工的平均工资 = $25,891.00
2015年员工:
员工姓名:Kallinen,Brion,月薪=$3,100.00,年薪=$37,200.00
销售员姓名:Mentzer,Dickey,月薪=$4,100.00,年销售额=$75,000.00
销售员姓名:Thomas,Carol,月薪=$3,800.00,年销售额=$90,000.00
高管姓名:Tofte,Abby,月薪=$4,800.00,股票价格=$190.00
高管姓名:Kuehn,Jennifer,月薪=$6,000.00,股票价格=$79.00
高管姓名:Brown,Eric,月薪=$6,500.00,股票价格=$51.00
2015 年所有员工的平均工资 = $57,432.67
构建成功(总时间:0秒)
我需要它来打印销售员和高管的年薪。
package AverageSalary;
public class Employee {
private String employeeName;
private double monthlySalary;
// Constructor that initiailizes name and monthly salary
public Employee(String EmployeeName, double mnthSalary) {
employeeName = EmployeeName;
monthlySalary = mnthSalary;
}
//set Employee Name function
public void setEmployeeName(String employeeName) {
this.employeeName = employeeName;
}
//get Employee Name Function
public String getEmployeeName() {
return employeeName;
}
//monthlySalary
public void setMonthlySalary(double monthlySalary) {
this.monthlySalary = monthlySalary;
}
public double getMonthlySalary() {
return monthlySalary;
}
// Method named annualSalary returns the salary for a whole year.
public double annualSalary() {
return getMonthlySalary() * 12;
}
// toString method returns string containing name and monthly salary
public String toString() {
return String.format("\nEmployee Name: %s, Monthly Salary=$%,.2f,"
+ "Annual Salary=$%,.2f", getEmployeeName(), getMonthlySalary(),
annualSalary());
}
}
________________________________________________________________________
package AverageSalary;
import java.util.HashSet;
public class Salesman extends Employee{
private double annualSales;
public double getAnnualSales() {
return annualSales;
}
// Constructor that initializes name, monthly salary and annual sales
Salesman(String Name, double mnthSalary, double dblAnnualSales)
{
super(Name, mnthSalary);
this.annualSales=dblAnnualSales;
}
//An overridden method annualSalary that returns the salary for year
//Salary of salesman consists of base salary computed from the monthly
salary plus a commission.
//The commission is computed as 2% of that salesman's annual sales.
//The maximum commission a salesman can earn is $20,000.
@Override
public double annualSalary()
{
double dblSalesCommission=0;
dblSalesCommission=(getMonthlySalary()*12)*0.02;
if ( dblSalesCommission > 20000)
dblSalesCommission=20000;
return getMonthlySalary()+dblSalesCommission;
}
@Override
public String toString()
{
return String.format("\nSalesman Name: %s, Monthly
Salary=$%,.2f,Annual
Sales=$%,.2f",
getEmployeeName(), getMonthlySalary(),
getAnnualSales() );
}
}
最佳答案
我可以找到你的两个问题。
你的推销员toString()
实际上并没有打印出年薪。我将其更改为:
@Override
public String toString() {
return String
.format("\nSalesman Name: %s, Monthly Salary=$%,.2f,Annual Sales=$%,.2f,Annual Salary=$%,.2f",
getEmployeeName(), getMonthlySalary(), getAnnualSales(), annualSalary());
}
此外,您的annualSalary()
计算不正确,您需要将月薪乘以12,然后加上佣金。
@Override
public double annualSalary() {
double dblSalesCommission = 0;
dblSalesCommission = getAnnualSales() * 0.02;
if (dblSalesCommission > 20000)
dblSalesCommission = 20000;
return (12.0 * getMonthlySalary()) + dblSalesCommission;
}
进行这些更改为我产生了正确的输出:
Employee Name: Test Guy, Monthly Salary=$5,000.00,Annual Salary=$60,000.00
Salesman Name: Sales Guy, Monthly Salary=$5,000.00,Annual Sales=$100,000.00,Annual Salary=$61,200.00
关于java - 无法获取输出年薪总额的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36248144/
同样是程序员,为什么年薪的差距那么大呢?有的程序员非常诚恳,认为薪水没达到预期,是因为自己的技术水平不够。但事实上,技术能力并不是决定薪酬的唯一因素,供需关系对薪酬的影响非常大。 很多时候,两个能力差
我是一名优秀的程序员,十分优秀!