Question: Create a Java project called Padlock.java with the given information 1. public Padlock(int n1, int n2, int n3) Constructs a padlock with the given combination.

Create a Java project called Padlock.java with the given information

1. public Padlock(int n1, int n2, int n3)

Constructs a padlock with the given combination. This constructor does NOT verify that the given combination is valid, in the sense described above. A lock with an invalid combination will still behave according to this specification in every respect; however it may be impossible to unlock it following the steps in the package directions.

Initially, the lock is open and the dial is at 0, disc 2 is at TOOTH degrees rotation, and disc 1 is at 2 * TOOTH degrees rotation, regardless of the given combination.

2. public void randomizePositions(java.util.Random rand)

Set the three discs to random, valid positions.

3. public void setPositions(int n1, int n2, int n3)

Sets the positions of the three discs to given angles, as closely as possible while ensuring the positions are valid. Disc 3 is always set to the given angle n3. If the given angle n2 is within n3 plus or minus the tooth width, then the disc 2 position will be set to n3 + the tooth width. Similarly, if n1 is within the new disc 2 position plus or minus the tooth width, then disc 1 will be set to the new disc 2 position + the tooth width. All values will be normalized to be between 0 and 359, inclusive.

4. public void turnLeftTo(int number)

Turns the dial (disc 3) counterclockwise until its position is the given number.

5. public void turnRightTo(int number)

Turns the dial (disc 3) clockwise until its position is the given number.

6. public void turn(int degrees)

Turns the dial (disc 3) the given number of degrees, where a positive number represents a counterclockwise rotation and a negative number represents a clockwise rotation.

7. public int getDiscPosition(int which)

Returns the current position of the given disc (1, 2, or 3, where disc 3 is the front disc attached to the dial). The value returned is always normalized to be between 0 and 359, inclusive. If the argument is not equal to 1, 2, or 3, the method returns -1.

8. public boolean isAligned()

Returns true if all three discs are aligned, that is, for all discs the current position is equal to the offset.

9. public void open()

Opens the lock, if possible. Does nothing unless isAligned is true.

10. public void close()

Closes the lock, whether or not the discs are aligned.

11. public boolean isOpen()

Determines whether the lock is currently open.

12. public static final int TOOTH

Width of the teeth on each disc in the mechanism, expressed in degrees of rotation.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!