Question: Write a program that displays for each of the 12 months number of absentee hours, the number of absent incidents, and the average commuting distance
Write a program that displays for each of the 12 months number of absentee hours, the number of absent incidents, and the average commuting distance to work. The input comes from a list of absent-from-work records. The file Absent1.txt contains a line for each time a person was absent from work, containing: id Employee ID number, a number from 1 to 36 month Month number 1 to 12 distance Distance from home to work for this employee (integer km) age Age of this employee (integer years) bmi Body mass index for this employee (integer) hours Hours of work missed (an integer) The records are from a package delivery company in Sao Paulo, Brazil. The main question is: which months have the most incidents and lost work time? And in the winter months do people who live further away lose more hours due to absences? (Keep in mind that in Sao Paulo mid-summer is December-January, while winter is June-July.) Call your program AbsentMonth.java. You will store the month number, number of absentee incidents, the total hours missed, and total distance from work, as instance variables in an AbsentMonth class. Your main method will have an array of 12 AbsentMonth objects, one object for each month number 1 to 12. Every line you read from the file, you will add 1 to that month's count of incidents and accumulate the total number of hours in that AbsentMonth object. At the end, sort the array in increasing order of number of hours, and print for each month: count of incidents 3 digits total hours 5 digits total of employee distances 6 digits average of employee distances per incident 3 digits integer avg hours floating point with 1 digit after the decimal point In order to sort the array of objects, the class will need to implement the Comparable interface and have a compareTo method. public class AbsentMonth implements Comparable { public int compareTo( AbsentMonth other ) { return (this.incidents - other.incidents); } You can sort the array with java.util.Arrays.sort( myArray, 0, myArray.length ); COMP163 Lab Quiz 3: Absenteeism per Month page 2 of 2 Implementation Hints Methods for the AbsentMonth class might be: AbsentMonth (int monthno) Constructor, sets the monthno instance variable and makes all the other instance variables zero. count(int hours, int dist) int bmi, int hours) Increments the incident count for this employee, adds to the total number of hours and total distance getMonth(), getIncidentCount(), getTotalHours(), getTotalDist() Accessor functions A general outline for the program might be Create array of 12 AbsentMonth objects. Initialize each item in the array with a new AbsentMonth object containing a month number from 1 to 12. Create a scanner object for the Absent1.txt file. while more data in the file read the six items from each line call the count method for the month on that line sort the array for each object in the array get data from object print on one line: month number 2 digits count of incidents 3 digits total hours 5 digits total of employee distances 6 digits average of employee distances per incident 3 digits integer avg hours floating point with 1 digit after the decimal point Sample output Month= 3 Count= 87 Hours= 765 Dist= 2777 Avg dist= 31 Avg hours=8.8 Month= 2 Count= 72 Hours= 294 Dist= 2585 Avg dist= 35 Avg hours=4.1 Month= 1 Count= 50 Hours= 222 Dist= 1210 Avg dist= 24 Avg hours=4.4 Month=12 Count= 49 Hours= 414 Dist= 1481 Avg dist= 30 Avg hours=8.4
Txt: Absentee.txt
11 7 36 33 30 4 36 7 13 50 31 0 3 7 51 38 31 2 7 7 5 39 24 4 11 7 36 33 30 2 3 7 51 38 31 2 10 7 52 28 27 8 20 7 50 36 23 4 14 7 12 34 25 40 1 7 11 37 29 8 20 7 50 36 23 8 20 7 50 36 23 8 20 7 50 36 23 8 3 7 51 38 31 1 3 7 51 38 31 4 24 7 25 41 23 8 3 7 51 38 31 2 3 7 51 38 31 8 6 7 29 33 25 8 33 8 25 47 32 2 18 8 16 28 25 8 3 8 51 38 31 1 10 8 52 28 27 40 20 8 50 36 23 4 11 8 36 33 30 8 10 8 52 28 27 7 11 8 36 33 30 1 30 8 27 29 22 4 11 8 36 33 30 8 3 8 51 38 31 2 3 8 51 38 31 8 2 8 29 48 33 8 1 8 11 37 29 4 2 8 29 48 33 8 3 8 51 38 31 2 10 8 52 28 27 1 11 8 36 33 30 8 19 8 50 32 23 4 2 8 29 48 33 8 20 8 50 36 23 4 27 9 42 27 21 2 34 9 10 37 28 4 3 9 51 38 31 4 5 9 20 43 38 8 14 9 12 34 25 2 34 9 10 37 28 3 3 9 51 38 31 3 15 9 31 40 25 4 20 9 50 36 23 8 15 9 31 40 25 32 20 9 50 36 23 0 29 9 26 28 24 0 28 9 26 28 24 2 34 9 10 37 28 2 11 9 36 33 30 0 36 9 13 50 31 0 28 9 26 28 24 3 3 9 51 38 31 3 13 9 17 31 25 0 33 9 25 47 32 1 3 9 51 38 31 3 20 9 50 36 23 4 3 10 51 38 31 3 34 10 10 37 28 3 36 10 13 50 31 0 22 10 26 30 19 1 3 10 51 38 31 3 28 10 26 28 24 3 34 10 10 37 28 3 28 10 26 28 24 2 33 10 25 47 32 2 15 10 31 40 25 5 3 10 51 38 31 8 28 10 26 28 24 3 20 10 50 36 23 16 15 10 31 40 25 8 28 10 26 28 24 2 11 10 36 33 30 8 10 10 52 28 27 1 20 10 50 36 23 3 3 11 51 38 31 1 28 11 26 28 24 1 3 11 51 38 31 8 17 11 22 40 22 8 15 11 31 40 25 5 14 11 12 34 25 32 6 11 29 33 25 8 15 11 31 40 25 40 28 11 26 28 24 1 14 11 12 34 25 8 28 11 26 28 24 3 17 11 22 40 22 8 28 11 26 28 24 3 20 11 50 36 23 4 33 11 25 47 32 1 28 11 26 28 24 3 11 11 36 33 30 24 15 11 31 40 25 3 33 12 25 47 32 1 34 12 10 37 28 64 36 12 13 50 31 2 1 12 11 37 29 8 28 12 26 28 24 2 20 12 50 36 23 8 34 12 10 37 28 56 10 12 52 28 27 8 28 12 26 28 24 3 20 12 50 36 23 3 28 12 26 28 24 2 10 12 52 28 27 8 34 12 10 37 28 2 24 12 25 41 23 8 28 12 26 28 24 2 28 1 26 28 24 1 34 1 10 37 28 1 34 1 10 37 28 1 14 1 12 34 25 8 28 1 26 28 24 2 27 1 42 27 21 2 28 1 26 28 24 2 28 1 26 28 24 1 34 1 10 37 28 2 28 1 26 28 24 2 34 1 10 37 28 2 34 1 10 37 28 2 34 1 10 37 28 2 34 1 10 37 28 2 34 1 10 37 28 2 34 1 10 37 28 2 22 1 26 30 19 8 11 1 36 33 30 8 34 1 10 37 28 2 27 1 42 27 21 2 34 1 10 37 28 2 34 1 10 37 28 0 28 1 26 28 24 1 11 1 36 33 30 3 27 2 42 27 21 1 24 2 25 41 23 8 3 2 51 38 31 8 14 2 12 34 25 2 6 2 29 33 25 8 20 2 50 36 23 2 11 2 36 33 30 8 31 2 15 50 24 8 31 2 15 50 24 8 28 2 26 28 24 2 28 2 26 28 24 2 22 2 26 30 19 1 27 2 42 27 21 8 28 2 26 28 24 3 18 2 16 28 25 8 18 2 16 28 25 1 28 2 26 28 24 1 6 2 29 33 25 8 19 3 50 32 23 2 20 3 50 36 23 8 30 3 27 29 22 3 17 3 22 40 22 8 15 3 31 40 25 8 20 3 50 36 23 8 22 3 26 30 19 8 33 3 25 47 32 3 20 3 50 36 23 40 17 3 22 40 22 40 14 3 12 34 25 16 20 3 50 36 23 16 14 3 12 34 25 8 11 3 36 33 30 8 17 3 22 40 22 8 20 3 50 36 23 4 28 3 26 28 24 1 7 3 5 39 24 8 3 3 51 38 31 24 28 3 26 28 24 2 28 3 26 28 24 8 22 3 26 30 19 1 28 3 26 28 24 8 28 3 26 28 24 16 3 3 51 38 31 3 7 3 5 39 24 16 28 3 26 28 24 2 33 3 25 47 32 3 28 3 26 28 24 1 15 4 31 40 25 1 28 4 26 28 24 1 14 4 12 34 25 1 24 4 25 41 23 24 14 4 12 34 25 1 28 4 26 28 24 2 20 4 50 36 23 4 3 4 51 38 31 24 36 4 13 50 31 1 15 4 31 40 25 3 24 4 25 41 23 8 15 4 31 40 25 1 33 4 25 47 32 8 20 4 50 36 23 56 11 4 36 33 30 8 14 4 12 34 25 24 23 4 49 36 21 8 11 4 36 33 30 16 1 4 11 37 29 3 2 4 29 48 33 0 11 5 36 33 30 8 14 5 12 34 25 2 14 5 12 34 25 1 3 5 51 38 31 8 28 5 26 28 24 8 27 5 42 27 21 4 14 5 12 34 25 2 3 5 51 38 31 1 11 5 36 33 30 24 7 5 5 39 24 0 18 5 16 28 25 0 23 5 49 36 21 0 31 5 15 50 24 0 3 5 51 38 31 1 36 5 13 50 31 24 10 5 52 28 27 8 24 6 25 41 23 8 10 6 52 28 27 8 24 6 25 41 23 24 15 6 31 40 25 4 24 6 25 41 23 8 3 6 51 38 31 8 14 6 12 34 25 4 24 6 25 41 23 8 36 6 13 50 31 8 1 6 11 37 29 16 36 6 13 50 31 1 36 6 13 50 31 80 23 6 49 36 21 8 3 6 51 38 31 2 32 6 48 49 36 2 28 6 26 28 24 2 14 7 12 34 25 16 36 7 13 50 31 8 34 7 10 37 28 8 34 7 10 37 28 4 18 7 16 28 25 8 22 7 26 30 19 8 14 7 12 34 25 2 18 7 16 28 25 8 18 7 16 28 25 8 30 7 27 29 22 3 10 7 52 28 27 8 11 7 36 33 30 8 3 7 51 38 31 8 11 7 36 33 30 32 11 7 36 33 30 8 20 7 50 36 23 0 11 8 36 33 30 8 30 8 27 29 22 3 11 8 36 33 30 1 9 8 14 58 22 8 26 8 26 43 25 1 26 8 26 43 25 2 20 8 50 36 23 4 11 8 36 33 30 4 33 8 25 47 32 1 21 8 11 33 25 8 22 8 26 30 19 1 36 8 13 50 31 3 33 8 25 47 32 2 1 8 11 37 29 1 36 8 13 50 31 1 1 8 11 37 29 8 10 8 52 28 27 8 27 8 42 27 21 8 3 9 51 38 31 8 3 9 51 38 31 3 11 9 36 33 30 24 5 9 20 43 38 0 24 9 25 41 23 16 15 9 31 40 25 3 8 9 35 39 35 0 19 9 50 32 23 0 3 9 51 38 31 8 24 9 25 41 23 32 3 9 51 38 31 1 15 9 31 40 25 4 20 9 50 36 23 4 5 9 20 43 38 8 36 9 13 50 31 1 5 9 20 43 38 0 15 9 31 40 25 3 15 9 31 40 25 40 3 9 51 38 31 8 11 10 36 33 30 8 1 10 11 37 29 4 11 10 36 33 30 8 11 10 36 33 30 8 36 10 13 50 31 0 33 10 25 47 32 0 22 10 26 30 19 8 34 10 10 37 28 3 13 10 17 31 25 8 3 10 51 38 31 1 22 10 26 30 19 64 5 10 20 43 38 0 11 10 36 33 30 16 20 10 50 36 23 3 5 10 20 43 38 0 5 10 20 43 38 2 5 10 20 43 38 2 36 10 13 50 31 1 15 10 31 40 25 4 22 10 26 30 19 16 36 10 13 50 31 1 10 10 52 28 27 8 20 10 50 36 23 0 15 10 31 40 25 0 30 10 27 29 22 0 22 10 26 30 19 5 22 10 26 30 19 5 36 10 13 50 31 1 34 11 10 37 28 8 33 11 25 47 32 2 3 11 51 38 31 8 20 11 50 36 23 3 15 11 31 40 25 1 23 11 49 36 21 8 14 11 12 34 25 120 5 11 20 43 38 8 18 11 16 28 25 0 1 11 11 37 29 1 34 11 10 37 28 3 1 11 11 37 29 2 3 11 51 38 31 3 24 11 25 41 23 8 15 11 31 40 25 4 24 11 25 41 23 8 3 11 51 38 31 1 20 11 50 36 23 8 20 11 50 36 23 8 23 11 49 36 21 0 7 11 5 39 24 0 3 11 51 38 31 1 28 12 26 28 24 3 3 12 51 38 31 2 3 12 51 38 31 1 1 12 11 37 29 3 36 12 13 50 31 1 20 12 50 36 23 4 24 12 25 41 23 8 3 12 51 38 31 1 3 12 51 38 31 1 22 12 26 30 19 1 34 12 10 37 28 8 1 12 11 37 29 2 3 12 51 38 31 1 5 12 20 43 38 8 1 12 11 37 29 4 20 12 50 36 23 8 30 12 27 29 22 2 3 12 51 38 31 3 11 12 36 33 30 8 28 1 26 28 24 5 34 1 10 37 28 32 14 1 12 34 25 2 1 1 11 37 29 1 14 1 12 34 25 4 11 1 36 33 30 8 15 1 31 40 25 8 5 1 20 43 38 8 36 1 13 50 31 4 3 1 51 38 31 1 3 1 51 38 31 1 34 2 10 37 28 2 3 2 51 38 31 3 28 2 26 28 24 1 11 2 36 33 30 3 20 2 50 36 23 3 3 2 51 38 31 3 3 2 51 38 31 2 3 2 51 38 31 3 3 2 51 38 31 8 24 2 25 41 23 8 3 2 51 38 31 3 6 2 29 33 25 8 3 2 51 38 31 3 24 2 25 41 23 2 15 2 31 40 25 2 30 2 27 29 22 16 3 2 51 38 31 3 3 2 51 38 31 3 24 2 25 41 23 24 3 2 51 38 31 3 3 2 51 38 31 3 34 3 10 37 28 8 24 3 25 41 23 16 24 3 25 41 23 2 20 3 50 36 23 4 3 3 51 38 31 2 1 3 11 37 29 8 17 3 22 40 22 8 23 3 49 36 21 8 3 3 51 38 31 16 10 3 52 28 27 8 13 3 17 31 25 0 1 3 11 37 29 8 36 3 13 50 31 2 36 3 13 50 31 3 36 3 13 50 31 8 1 3 11 37 29 0 24 3 25 41 23 0 36 3 13 50 31 0 3 3 51 38 31 8 11 3 36 33 30 8 20 3 50 36 23 8 24 3 25 41 23 2 3 4 51 38 31 4 20 4 50 36 23 3 18 4 16 28 25 4 13 4 17 31 25 4 33 4 25 47 32 4 18 4 16 28 25 8 3 4 51 38 31 8 36 4 13 50 31 1 36 4 13 50 31 120 26 4 26 43 25 8 20 4 50 36 23 4 3 4 51 38 31 4 34 4 10 37 28 2 5 5 20 43 38 16 33 5 25 47 32 2 13 5 17 31 25 8 22 5 26 30 19 3 3 5 51 38 31 4 10 5 52 28 27 1 20 5 50 36 23 3 17 5 22 40 22 2 17 5 22 40 22 3 9 5 14 58 22 8 28 5 26 28 24 3 18 5 16 28 25 8 22 5 26 30 19 2 34 5 10 37 28 1 1 5 11 37 29 8 22 5 26 30 19 3 34 6 10 37 28 3 3 6 51 38 31 3 34 6 10 37 28 2 28 6 26 28 24 4 20 6 50 36 23 4 3 6 51 38 31 0 15 6 31 40 25 40 3 6 51 38 31 24 24 6 25 41 23 3 3 6 51 38 31 4 5 6 20 43 38 8 3 6 51 38 31 2 28 6 26 28 24 2 36 6 13 50 31 2 3 6 51 38 31 8 22 6 26 30 19 2 24 6 25 41 23 2 18 6 16 28 25 1 1 6 11 37 29 8 22 7 26 30 19 2 28 7 26 28 24 4 20 7 50 36 23 8 21 7 11 33 25 8 18 7 16 28 25 8 34 7 10 37 28 8 20 7 50 36 23 4 34 7 10 37 28 8 26 7 26 43 25 8 2 7 29 48 33 1 24 7 25 41 23 2 28 7 26 28 24 112 3 7 51 38 31 1 36 7 13 50 31 1 10 7 52 28 27 8 11 7 36 33 30 8 5 7 20 43 38 8 24 7 25 41 23 2 15 7 31 40 25 1 7 7 5 39 24 2 3 8 51 38 31 4 17 8 22 40 22 1 24 8 25 41 23 4 34 8 10 37 28 4 11 8 36 33 30 8 5 8 20 43 38 8 15 8 31 40 25 4 3 8 51 38 31 4 17 8 22 40 22 8 18 8 16 28 25 16 1 8 11 37 29 4 24 8 25 41 23 1 34 8 10 37 28 5 15 8 31 40 25 2 20 8 50 36 23 3 24 9 25 41 23 1 24 9 25 41 23 1 34 9 10 37 28 3 14 9 12 34 25 2 15 9 31 40 25 2 22 9 26 30 19 8 33 9 25 47 32 1 3 9 51 38 31 4 28 9 26 28 24 1 22 9 26 30 19 2 13 9 17 31 25 8 10 9 52 28 27 8 32 10 48 49 36 1 25 10 16 32 25 3 24 10 25 41 23 8 32 10 48 49 36 3 15 10 31 40 25 2 34 10 10 37 28 2 32 10 48 49 36 2 15 10 31 40 25 1 28 10 26 28 24 2 13 10 17 31 25 8 13 10 17 31 25 3 28 10 26 28 24 4 13 10 17 31 25 8 3 10 51 38 31 3 9 10 14 58 22 1 15 10 31 40 25 1 13 10 17 31 25 8 28 10 26 28 24 1 13 10 17 31 25 8 28 10 26 28 24 3 6 10 29 33 25 8 25 10 16 32 25 8 33 10 25 47 32 8 28 10 26 28 24 0 28 10 26 28 24 3 3 11 51 38 31 1 34 11 10 37 28 3 18 11 16 28 25 24 3 11 51 38 31 1 34 11 10 37 28 8 11 11 36 33 30 8 25 11 16 32 25 8 28 11 26 28 24 4 10 11 52 28 27 8 15 11 31 40 25 2 34 11 10 37 28 2 28 11 26 28 24 3 3 11 51 38 31 1 34 11 10 37 28 8 34 11 10 37 28 8 28 11 26 28 24 2 15 11 31 40 25 0 11 11 36 33 30 0 33 11 25 47 32 4 5 11 20 43 38 0 28 11 26 28 24 2 13 11 17 31 25 8 10 11 52 28 27 2 3 12 51 38 31 32 15 12 31 40 25 1 28 12 26 28 24 3 22 12 26 30 19 1 28 12 26 28 24 3 28 12 26 28 24 3 10 12 52 28 27 4 17 12 22 40 22 2 5 12 20 43 38 8 12 12 51 31 21 8 22 12 26 30 19 16 28 12 26 28 24 2 28 12 26 28 24 3 28 12 26 28 24 2 14 12 12 34 25 80 22 1 26 30 19 24 22 1 26 30 19 16 17 1 22 40 22 2 17 1 22 40 22 2 22 1 26 30 19 3 17 1 22 40 22 2 32 1 48 49 36 8 17 1 22 40 22 3 22 1 26 30 19 2 14 1 12 34 25 8 22 1 26 30 19 2 3 1 51 38 31 3 11 1 36 33 30 8 3 1 51 38 31 3 3 1 51 38 31 2 3 2 51 38 31 8 28 2 26 28 24 3 33 2 25 47 32 8 3 2 51 38 31 2 28 2 26 28 24 3 3 2 51 38 31 2 22 2 26 30 19 2 29 2 15 41 28 2 3 2 51 38 31 2 12 2 51 31 21 2 3 2 51 38 31 2 28 2 26 28 24 8 3 2 51 38 31 3 3 2 51 38 31 3 28 2 26 28 24 3 22 2 26 30 19 2 17 2 22 40 22 2 3 2 51 38 31 3 12 2 51 31 21 3 22 2 26 30 19 2 3 2 51 38 31 2 3 2 51 38 31 8 3 2 51 38 31 2 14 2 12 34 25 5 25 2 16 32 25 3 3 2 51 38 31 2 28 2 26 28 24 2 3 2 51 38 31 2 33 2 25 47 32 2 28 2 26 28 24 2 3 2 51 38 31 2 3 2 51 38 31 2 25 2 16 32 25 2 3 3 51 38 31 2 33 3 25 47 32 2 9 3 14 58 22 3 33 3 25 47 32 3 9 3 14 58 22 112 3 3 51 38 31 2 28 3 26 28 24 2 3 3 51 38 31 3 28 3 26 28 24 2 22 3 26 30 19 3 25 3 16 32 25 3 10 3 52 28 27 8 3 3 51 38 31 8 3 3 51 38 31 2 3 3 51 38 31 3 22 3 26 30 19 2 3 3 51 38 31 4 33 3 25 47 32 2 3 3 51 38 31 3 28 3 26 28 24 8 3 3 51 38 31 2 11 3 36 33 30 8 9 3 14 58 22 2 3 3 51 38 31 2 33 3 25 47 32 3 3 3 51 38 31 3 22 3 26 30 19 2 3 3 51 38 31 3 3 3 51 38 31 3 16 3 15 46 25 8 14 3 12 34 25 24 3 3 51 38 31 3 3 3 51 38 31 3 22 3 26 30 19 2 11 3 36 33 30 104 13 3 17 31 25 8 28 4 26 28 24 8 34 4 10 37 28 8 10 4 52 28 27 8 33 4 25 47 32 8 6 4 29 33 25 8 22 4 26 30 19 2 13 4 17 31 25 24 17 4 22 40 22 2 36 4 13 50 31 3 10 4 52 28 27 2 34 4 10 37 28 2 1 4 11 37 29 8 22 4 26 30 19 2 28 4 26 28 24 8 25 4 16 32 25 3 22 4 26 30 19 2 14 4 12 34 25 4 28 4 26 28 24 8 36 4 13 50 31 2 22 4 26 30 19 2 1 5 11 37 29 8 29 5 15 41 28 3 25 5 16 32 25 2 34 5 10 37 28 3 5 5 20 43 38 8 22 5 26 30 19 1 15 5 31 40 25 2 29 5 15 41 28 8 26 5 26 43 25 64 29 5 15 41 28 8 22 5 26 30 19 2 36 5 13 50 31 2 36 5 13 50 31 3 34 5 10 37 28 1 36 5 13 50 31 0 22 5 26 30 19 2 23 5 49 36 21 0 17 5 22 40 22 1 14 5 12 34 25 48 25 5 16 32 25 8 15 5 31 40 25 8 17 5 22 40 22 8 28 5 26 28 24 3 18 5 16 28 25 8 25 5 16 32 25 2 15 5 31 40 25 2 22 5 26 30 19 2 10 5 52 28 27 8 14 5 12 34 25 2 17 5 22 40 22 8 14 5 12 34 25 8 28 5 26 28 24 1 16 6 15 46 25 8 22 6 26 30 19 3 34 6 10 37 28 8 34 6 10 37 28 8 23 6 49 36 21 8 36 6 13 50 31 24 12 6 51 31 21 8 22 6 26 30 19 2 2 6 29 48 33 0 21 6 11 33 25 0 36 6 13 50 31 3 22 6 26 30 19 2 15 6 31 40 25 2 22 6 26 30 19 3 34 6 10 37 28 3 12 6 51 31 21 8 34 6 10 37 28 2 34 6 10 37 28 3 12 6 51 31 21 3 5 7 20 43 38 4 12 7 51 31 21 2 9 7 14 58 22 8 34 7 10 37 28 4 9 7 14 58 22 120 6 7 29 33 25 16 34 7 10 37 28 2 10 7 52 28 27 8 28 7 26 28 24 8 13 7 17 31 25 80 11 7 36 33 30 8 1 7 11 37 29 4
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
