Advertisement
KaiserRego

G5E10Cerradura

Sep 25th, 2014
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.63 KB | None | 0 0
  1. public class G5E10Cerradura {
  2.     private int claveDeApertura;
  3.     private int cantidadDeFallosConsecutivosQueLaBloquean;
  4.     private int cantidadDeAperturasFallidas;
  5.     private int cantidadDeAperturasExitosas;
  6.     private boolean cerraduraAbierta;
  7.    
  8.     /* CONSTRUCTOR post: inicializa los atributos claveDeApertura y cantidadDeFallosConsecutivosQueLaBloquean
  9.      * con los parámetros recibidos del mismo nombre. Inicializa en 0 los parámetros cantidadDeAperturasFallidas y
  10.      * cantidadDeAperturasExitosas, e inicializa en false el parámetro booleano cerraduraAbierta. */
  11.     public G5E10Cerradura (int claveDeApertura, int cantidadDeFallosConsecutivosQueLaBloquean){
  12.        
  13.         this.claveDeApertura = claveDeApertura;
  14.         this.cantidadDeFallosConsecutivosQueLaBloquean = cantidadDeFallosConsecutivosQueLaBloquean;
  15.         cantidadDeAperturasFallidas = 0;
  16.         cantidadDeAperturasExitosas = 0;
  17.         cerraduraAbierta = false;
  18.     }
  19.    
  20.     /* pre: se invoca el método pasando como parámetro una clave igual a la claveDeApertura.
  21.      * post: siempre que se cumplan las pre y la cantidadDeAperturasFallidas sea menor que la
  22.      * cantidadDeFallosConsecutivosQueLaBloquean, entonces se abre la cerradura y se suma un intento a la
  23.      * cantidadDeAperturasExitosas. Sino, no se abre y se suma un intento a la cantidadDeAperturasFallidas . */
  24.     public boolean abrir(int clave){
  25.         if (clave == claveDeApertura && cantidadDeAperturasFallidas < cantidadDeFallosConsecutivosQueLaBloquean){
  26.             cerraduraAbierta = true;
  27.             cantidadDeAperturasExitosas++;
  28.             return (cerraduraAbierta);
  29.         }
  30.         else{
  31.             cantidadDeAperturasFallidas++;
  32.             return (cerraduraAbierta);
  33.         }
  34.     }
  35.    
  36.     /* post: si el atributo cerraduraAbierta es verdadero, entonces se procederá a cerrar la cerradura. */
  37.     public void cerrar(){
  38.         if (cerraduraAbierta){
  39.             cerraduraAbierta = false;
  40.         }
  41.     }
  42.    
  43.     /* post: indica si Cerradura está abierta. */
  44.     public boolean estaAbierta(){
  45.         if (cerraduraAbierta){
  46.             return (true);
  47.         }
  48.         else{
  49.             return (false);
  50.         }
  51.     }
  52.    
  53.     /* post: indica si Cerradura está cerrada. */
  54.     public boolean estaCerrada(){
  55.         if (cerraduraAbierta){
  56.             return (false);
  57.         }
  58.         else{
  59.             return (true);
  60.         }
  61.     }
  62.    
  63.     /* post: indica si Cerradura fue bloqueada. */
  64.     public boolean fueBloqueada(){
  65.         if (cantidadDeAperturasFallidas >= cantidadDeFallosConsecutivosQueLaBloquean){
  66.             return (true);
  67.         }
  68.         else{
  69.             return (false);
  70.         }
  71.     }
  72.    
  73.     /* post: devuelve la cantidadDeAperturasExitosas. */
  74.     public int contarAperturasExitosas(){
  75.         return (cantidadDeAperturasExitosas);
  76.     }
  77.    
  78.     /* post: devuelve la cantidadDeAperturasFallidas. */
  79.     public int contarAperturasFallidas(){
  80.         return (cantidadDeAperturasFallidas);
  81.     }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement