首页 > 解决方案 > 如何在 java 中的 setter 方法中执行计算?

问题描述

我在一个 java 项目中有两个类,一个是 Employee1 类,另一个是 info 类。在 Employee 1 类中,我有以下代码:

public class Employee1 {
    String employeeName;
    int hoursWorked;
    double rateOfPay;
    double wages;




public Employee1(String name, int hours, double pay) {
    employeeName=name;
    hoursWorked=hours;
    rateOfPay=pay;

}


public String getName() {
    return employeeName;
}

public void setName(String xName) {
    employeeName = xName;
}


public double getHours() {
    return hoursWorked;
}


public void setHours(int xHours) {
    hoursWorked = xHours;
}


public double getPay() {
    return rateOfPay;
}


public void setPay(double xPay) {
    rateOfPay = xPay;
}

public double calculateWages  () {
wages= hoursWorked * rateOfPay; 
return wages;
} 

public void print() {

    System.out.println("name:"+ employeeName);
    System.out.println("hours " + hoursWorked);
    System.out.println("Wages Earned"+  wages);
}
}

在我的信息类中,我有以下代码:

public class Info {

    public static void main(String[] args) {
        Employee1 x= new Employee1("Sarah",40,7.25);
        Employee1 y=new Employee1("Bob",30,8.00);
        Employee1 z= new Employee1("Todd",26, 8.25);



x.print();  


    }

}       

我现在的问题是我正在尝试在我的 Employee1 类中创建工资计算,正如您使用我的 calculateWages 方法所看到的那样。但是,每当我为现有员工 x 调用 print 方法时,工资总是为 0.0,我不确定为什么会发生这种情况。我的每个 Employee1 对象都有预先存在的变量,我仍然得到他们所有工资的 0.0 值,但他们的其余信息打印正确。谁能帮我解决这个问题?谢谢!

标签: java

解决方案


在您提供的代码中没有setter方法,而是有一个方法getter。是的,您可以在 getter 和 setter 中进行计算。

public void setAmount(int amount){
  this.amount = quantity * price;  
} 

public void getAmount(){
  return this.amount + otherProperty;  
} 

推荐阅读