Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

The program below has been generalized to read a user\'s input value for hourlyW

ID: 3879526 • Letter: T

Question

The program below has been generalized to read a user's input value for hourlyWage.

Run the program. Notice the user's input value of 10 is used. Modify that input value, and run again.

Generalize the program to get user input values for workHoursPerWeek and workWeeksPerYear (change those variables' initializations to 0). Run the program.

monthsPerYear will never change, so declare that variable as final. Use the standard for naming final variables. Ex: final int MAX_LENGTH = 99. Run the program.

Change the values in the input area below the program, and run the program again.

import java.util.Scanner;

public class Salary {   
public static void main (String [] args) {
Scanner scnr = new Scanner(System.in);
int hourlyWage = 0;
int workHoursPerWeek = 40;
int workWeeksPerYear = 50;
int monthsPerYear = 12; // FIXME: Declare as final and use standard naming
int annualSalary = 0;
int monthlySalary = 0;
  
System.out.println("Enter hourly wage: ");
hourlyWage = scnr.nextInt();

// FIXME: Get user input values for workHoursPerWeek and workWeeksPerYear

annualSalary = hourlyWage * workHoursPerWeek * workWeeksPerYear;
System.out.print("Annual salary is: ");   
System.out.println(annualSalary);
  
// FIXME: Change monthsPerYear to the final variable that uses the standard naming
monthlySalary = (hourlyWage * workHoursPerWeek * workWeeksPerYear) / monthsPerYear;
System.out.print("Monthly salary is: ");
System.out.println(monthlySalary);

return;
}
}

Explanation / Answer

Salary.java

import java.util.Scanner;
public class Salary {   
public static void main (String [] args) {
Scanner scnr = new Scanner(System.in);
int hourlyWage = 0;
int workHoursPerWeek = 0;
int workWeeksPerYear = 0;
final int MONTH_PER_YEAR = 12; // FIXME: Declare as final and use standard naming
int annualSalary = 0;
int monthlySalary = 0;
  
System.out.println("Enter hourly wage: ");
hourlyWage = scnr.nextInt();
// FIXME: Get user input values for workHoursPerWeek and workWeeksPerYear
System.out.println("Enter work hours per week: ");
workHoursPerWeek = scnr.nextInt();
System.out.println("Enter work weeks per year: ");
workWeeksPerYear = scnr.nextInt();

annualSalary = hourlyWage * workHoursPerWeek * workWeeksPerYear;
System.out.print("Annual salary is: ");   
System.out.println(annualSalary);
  
// FIXME: Change monthsPerYear to the final variable that uses the standard naming
monthlySalary = (hourlyWage * workHoursPerWeek * workWeeksPerYear) / MONTH_PER_YEAR;
System.out.print("Monthly salary is: ");
System.out.println(monthlySalary);
return;
}
}

Output:

Enter hourly wage:
10
Enter work hours per week:
40
Enter work weeks per year:
50
Annual salary is: 20000
Monthly salary is: 1666