Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class G5E10Cerradura {
- private int claveDeApertura;
- private int cantidadDeFallosConsecutivosQueLaBloquean;
- private int cantidadDeAperturasFallidas;
- private int cantidadDeAperturasExitosas;
- private boolean cerraduraAbierta;
- /* CONSTRUCTOR post: inicializa los atributos claveDeApertura y cantidadDeFallosConsecutivosQueLaBloquean
- * con los parámetros recibidos del mismo nombre. Inicializa en 0 los parámetros cantidadDeAperturasFallidas y
- * cantidadDeAperturasExitosas, e inicializa en false el parámetro booleano cerraduraAbierta. */
- public G5E10Cerradura (int claveDeApertura, int cantidadDeFallosConsecutivosQueLaBloquean){
- this.claveDeApertura = claveDeApertura;
- this.cantidadDeFallosConsecutivosQueLaBloquean = cantidadDeFallosConsecutivosQueLaBloquean;
- cantidadDeAperturasFallidas = 0;
- cantidadDeAperturasExitosas = 0;
- cerraduraAbierta = false;
- }
- /* pre: se invoca el método pasando como parámetro una clave igual a la claveDeApertura.
- * post: siempre que se cumplan las pre y la cantidadDeAperturasFallidas sea menor que la
- * cantidadDeFallosConsecutivosQueLaBloquean, entonces se abre la cerradura y se suma un intento a la
- * cantidadDeAperturasExitosas. Sino, no se abre y se suma un intento a la cantidadDeAperturasFallidas . */
- public boolean abrir(int clave){
- if (clave == claveDeApertura && cantidadDeAperturasFallidas < cantidadDeFallosConsecutivosQueLaBloquean){
- cerraduraAbierta = true;
- cantidadDeAperturasExitosas++;
- return (cerraduraAbierta);
- }
- else{
- cantidadDeAperturasFallidas++;
- return (cerraduraAbierta);
- }
- }
- /* post: si el atributo cerraduraAbierta es verdadero, entonces se procederá a cerrar la cerradura. */
- public void cerrar(){
- if (cerraduraAbierta){
- cerraduraAbierta = false;
- }
- }
- /* post: indica si Cerradura está abierta. */
- public boolean estaAbierta(){
- if (cerraduraAbierta){
- return (true);
- }
- else{
- return (false);
- }
- }
- /* post: indica si Cerradura está cerrada. */
- public boolean estaCerrada(){
- if (cerraduraAbierta){
- return (false);
- }
- else{
- return (true);
- }
- }
- /* post: indica si Cerradura fue bloqueada. */
- public boolean fueBloqueada(){
- if (cantidadDeAperturasFallidas >= cantidadDeFallosConsecutivosQueLaBloquean){
- return (true);
- }
- else{
- return (false);
- }
- }
- /* post: devuelve la cantidadDeAperturasExitosas. */
- public int contarAperturasExitosas(){
- return (cantidadDeAperturasExitosas);
- }
- /* post: devuelve la cantidadDeAperturasFallidas. */
- public int contarAperturasFallidas(){
- return (cantidadDeAperturasFallidas);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement