A Java method cannot update primitive type parameters. For example, the following program cannot work as intended:
public class BonusTester { public static void applyBonus(double value, double bonus) { value = value * (1 + bonus); } public static void main(String[] args) { double sal = 45000; applyBonus(sal, 0.02); // 2% bonus; cannot work System.out.println(sal); System.out.println("Expected: 45900.0"); } }
To address this problem, the salary should be an object of a class.