CECS 277
LAB ASSIGNMENT 5
Assigned date: 3/11
Due date: 3/18
40 points
1. [15 points] Writing a simple lottery program. The program should randomly generates a wining lottery ticket, them prompt the player to enter a lotto numbers. Depending on how many numbers match, the player wins various prizes.
Sample output
Type 6 lotto numbers: 4 12 7 35 20 1
Your ticket was: [ 4, 12, 7, 35, 20, 1]
Winning numbers: [ 2, 13, 27, 7, 11, 4]
Match numbers: [4,7]
Your prize is $500.00
Requirements: Inplement the following methods in your program
- public static Set<Integer> generateWinningNumbers( )
Winning numbers should be between 1 and 40
- public static Set<Integer> getTicket( )
Read the player's lottery ticket from the console
Grading
- Be ready to demonstrate the result and answer some questions about the lab assignment.
- Turn in printouts of the souce code.
2. [25 points] Write a program that keeps a map in which the keys of the map are objects of class Employee. An employee should have a first name, a last name, and a unique integer employee identification. For the work performance (5, 4, 3, 2, and 1) changes and removals, lookup should be by employee identification. Prompt the user of the program to add or remove employees, to modify the performance, or to print all the performances including employee names. The printout should be sorted by last name. If two employees have the same last name, then use the first name as a tie breaker. If the first names are also identical, then use the integer employee identification. Supply compatible hashCode and equals methods to the Employee class.
Implementing the following methods:
- public static printMenuAndGetChoice()
- /**
Adds a employee based on user input. Prints an error if a employee
is added that already exists in the map.
@param GradeMap the map to associate employee object with a performance
@param employeeMap the map to associate employee id with an employee.
*/
- /**
Removes a employee from the map based on user input
@param GradeMap the map to associate employee object with a grade.
@param employeeMap the map to associate employee id with an employee.
*/
- /**
Modifies an entry based on user input. Prints an error if an invalid employee is modified.
@param GradeMap the map to associate employee object with a grade.
@param employeeMap the map to associate employee id with an employee
*/
- /**
Prints the employees and performances
@param GradeMap the map to print
*/
Hint:
- Use two maps.
- Calculates a hashcode by combining the hashcodes of the instance variables.
@return a hashcode dependant on the instance variables
*/
public int hashCode()
{
final int HASH_MULTIPLIER = 29;
int h = HASH_MULTIPLIER * firstName.hashCode() + lastName.hashCode();
h = HASH_MULTIPLIER * h + ((Integer)id).hashCode();
return h;
}
GRADING
- Be ready to demonstrate the result and answer some questions about the lab assignment.