Advertisement
ivana_andreevska

AV2 CombinationLock

May 7th, 2022 (edited)
1,055
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.39 KB | None | 0 0
  1. package AV2;
  2.  
  3. public class CombinationLock {
  4.     private int combination;
  5.     private boolean isOpen;
  6.     private static int DEFAULT_COMBO = 100;
  7.  
  8.     public CombinationLock(int combination) {
  9.         if (isComboValid(combination)) {
  10.             this.combination = combination;
  11.         } else {
  12.             this.combination = DEFAULT_COMBO;
  13.         }
  14.         this.isOpen = false;
  15.     }
  16.  
  17.     private boolean isComboValid(int combination) {
  18.         if (combination >= 100 && combination <= 999) {
  19.             return true;
  20.         } else
  21.             return false;
  22.     }
  23.  
  24.     public boolean open(int combination) {
  25.         this.isOpen = (this.combination == combination);
  26.         return this.isOpen;
  27. //        if (this.combination == combination) {
  28. //            this.isOpen = true;
  29. //            return true;
  30. //        } else
  31. //            return false;
  32.     }
  33.  
  34.     public boolean changeCombo(int oldCombo, int newCombo) {
  35.         if ((open(oldCombo) == true) && (isComboValid(newCombo))) {
  36.             this.combination = newCombo;
  37.             return true;
  38.         } else
  39.             return false;
  40.     }
  41.  
  42.     public boolean isOpen() {
  43.         return isOpen;
  44.     }
  45.  
  46.     public void lock() {
  47.         this.isOpen = false;
  48.     }
  49.  
  50.     public static void main(String[] args) {
  51.         CombinationLock validLock = new CombinationLock(234);
  52.  
  53.         System.out.println("TEST IS OPEN");
  54.         System.out.println(validLock.isOpen());
  55.  
  56.         System.out.println("TEST OPEN");
  57.         System.out.println(validLock.open(233));
  58.         System.out.println(validLock.open(236));
  59.         System.out.println(validLock.open(234));
  60.  
  61.         validLock.lock();
  62.  
  63.         System.out.println("TEST CHANGE COMBINATION");
  64.         System.out.println(validLock.changeCombo(234, 777));
  65.         System.out.println(validLock.open(777));
  66.  
  67.         CombinationLock invalidLock = new CombinationLock(234567);
  68.  
  69.         System.out.println("TEST IS OPEN");
  70.         System.out.println(invalidLock.isOpen());
  71.  
  72.         System.out.println("TEST OPEN");
  73.         System.out.println(invalidLock.open(103));
  74.         System.out.println(invalidLock.open(236));
  75.         System.out.println(invalidLock.open(100));
  76.  
  77.         invalidLock.lock();
  78.  
  79.         System.out.println("TEST CHANGE COMBINATION");
  80.         System.out.println(invalidLock.changeCombo(100, 900));
  81.         System.out.println(invalidLock.open(900));
  82.     }
  83. }
  84.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement