Epic Systems Interview Question
Software Engineer / Developersdouble MIN_PERCENT = 0.01;
double MAX_INCREASE=75000.;
String[] CATEGORY={"A", "B", "C"};
double updatedSalary(double salary, double percent, String category)
{
double updatedSal;
double increase;
// Cap minimum.
if (percent < MIN_PERCENT)
percent = MIN_PERCENT;
// calculate increase based on category
if (category.equals("A"))
increase = 3.*salary*percent;
else if (category.equals("B"))
increase = 2.*salary*percent;
else if (category.equals("C"))
increase = salary*percent;
// Cap maximum
if (increase > MAX_INCREASE)
increase = MAX_INCREASE;
updatedSal = salary+increase;
return updatedSal;
}
final double MINPERCENT = 0.01;
- Anonymous September 08, 2009final double MAXINCREASE = 75000;
enum Cat {A,B,C};
public double updateSal(double salary, double N, Cat cat)
{
double result = 0;
double increasePercent = 0;
switch(cat){
case A:
increasePercent = 3*N;
break;
case B:
increasePercent = 2*N;
break;
case C:
increasePercent = N;
break;
}
if(increasePercent<MINPERCENT)
increasePercent = MINPERCENT;
double increase = salary*increasePercent;
if(increase>MAXINCREASE)
increase = MAXINCREASE;
System.out.println(increase);
result = salary+increase;
return result;
}