Start learning free

LESSON 155 OF 410 · LOOPING OVER ARRAY INDICES

Employee of the Year V4 - Project in Java

Practice

A whole team is competing. Use a for loop over the arrays to find the most productive employee, then print their 15% bonus.

You start with:

String[] names = {"John Doe", "Mary Jane", "Bob Smith", "Alice Chen", "Carlos Diaz"};
int[] productivities = {83, 133, 97, 150, 120};
int[] salaries = {135000, 335000, 210000, 250000, 180000};

Build:

Alice Chen
Bonus: $37500

Rules:

  • Index i in all three arrays refers to the same employee.
  • The winner is whichever employee has the highest productivity. If two employees share the highest productivity, the one listed first wins.
  • The winner's bonus is 15% of their salary, rounded down to a whole number.
  • Print the winner's name on the first line, then "Bonus: $<amount>" on the second.

Start with int bestIndex = 0 and loop over the other indices with for (int i = 1; i < names.length; i++). Inside the loop, update the best index only when productivities[i] > productivities[bestIndex]: a strict comparison keeps the first employee on a tie.

Dividing two whole numbers (int) drops the fraction, so salaries[bestIndex] * 15 / 100 is already rounded down: int bonus = salaries[bestIndex] * 15 / 100;

+ turns the int into text: System.out.println("Bonus: $" + bonus);

String[] names = {"John Doe", "Mary Jane", "Bob Smith", "Alice Chen", "Carlos Diaz"};
int[] productivities = {83, 133, 97, 150, 120};
int[] salaries = {135000, 335000, 210000, 250000, 180000};

int bestIndex = 0;
for (int i = 1; i < names.length; i++) {
    if (productivities[i] > productivities[bestIndex]) {
        bestIndex = i;
    }
}
int bonus = salaries[bestIndex] * 15 / 100;
System.out.println(names[bestIndex]);
System.out.println("Bonus: $" + bonus);

STEP 1 OF 6
    Ctrl + Enter to check

    Employee Of The Year V4 in Java

    Keep going with JavaAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free