Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package AV2;
- public class CombinationLock {
- private int combination;
- private boolean isOpen;
- private static int DEFAULT_COMBO = 100;
- public CombinationLock(int combination) {
- if (isComboValid(combination)) {
- this.combination = combination;
- } else {
- this.combination = DEFAULT_COMBO;
- }
- this.isOpen = false;
- }
- private boolean isComboValid(int combination) {
- if (combination >= 100 && combination <= 999) {
- return true;
- } else
- return false;
- }
- public boolean open(int combination) {
- this.isOpen = (this.combination == combination);
- return this.isOpen;
- // if (this.combination == combination) {
- // this.isOpen = true;
- // return true;
- // } else
- // return false;
- }
- public boolean changeCombo(int oldCombo, int newCombo) {
- if ((open(oldCombo) == true) && (isComboValid(newCombo))) {
- this.combination = newCombo;
- return true;
- } else
- return false;
- }
- public boolean isOpen() {
- return isOpen;
- }
- public void lock() {
- this.isOpen = false;
- }
- public static void main(String[] args) {
- CombinationLock validLock = new CombinationLock(234);
- System.out.println("TEST IS OPEN");
- System.out.println(validLock.isOpen());
- System.out.println("TEST OPEN");
- System.out.println(validLock.open(233));
- System.out.println(validLock.open(236));
- System.out.println(validLock.open(234));
- validLock.lock();
- System.out.println("TEST CHANGE COMBINATION");
- System.out.println(validLock.changeCombo(234, 777));
- System.out.println(validLock.open(777));
- CombinationLock invalidLock = new CombinationLock(234567);
- System.out.println("TEST IS OPEN");
- System.out.println(invalidLock.isOpen());
- System.out.println("TEST OPEN");
- System.out.println(invalidLock.open(103));
- System.out.println(invalidLock.open(236));
- System.out.println(invalidLock.open(100));
- invalidLock.lock();
- System.out.println("TEST CHANGE COMBINATION");
- System.out.println(invalidLock.changeCombo(100, 900));
- System.out.println(invalidLock.open(900));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement