import java.util.*;
class Employee {
public void evaluateStatus(String empID, int empAge) {
final int age = 40;
class Rank {
public char getRank (String empID) {
System.out.print("\n\tGetting rank of employee: "+empID);
if (empAge >= 40 && empAge <= 60)
return 'B';
else if (empAge >= 61)
return 'A';
else
return 'C';
}
}
if (empAge >= age) {
Rank objRank = new Rank();
char rank = objRank.getRank(empID);
if (rank == 'A' || rank == 'B' || rank == 'C') {
System.out.print("\n\tEmployee rank is: "+ rank);
System.out.print("\n\tStatus: Eligible for upgrade.");
} else {
System.out.print("\n\tStatus: not eligible for upgrade.");
}
} else {
System.out.print("\n\tStatus: not eligible for upgrade.");
}
}
public static void main(String[] args) {
if (args.length == 2) {
Employee objEmp1 = new Employee();
objEmp1.evaluateStatus(args[0], Integer.parseInt(args[1]));
} else {
System.out.print("\n\tError!");
}
}
}
I get the following error:
Y:\student\Desktop\Atif>javac Employee.java
Employee.java:13: error: local variable empAge is accessed from within inner class; needs to be declared final
if (empAge >= 40 && empAge <= 60)
^ Employee.java:13: error: local variable empAge is accessed from within inner class; needs to be declared final
if (empAge >= 40 && empAge <= 60)
^ Employee.java:15: error: local variable empAge is accessed from within inner class; needs to be declared final
else if (empAge >= 61)
^ 3 errors