Programa Java gestionar ascensor

Programa Java que simula el comportamiento de un ascensor para controlar las paradas, movimientos subida, bajada y número de personas
Java

El siguiente programa java intenta modelar el funcionamiento básico de un ascensor. Para ello se crean dos clases, Principal.java y Ascensor.java.

La clase Ascensor.java tiene como atributos el “pisco actual”, la “planta máxima” y la “planta mínima”, así como la cantidad máxima de personas. Esta clase tiene el constructor vacío y un constructor que recibe un entero de piso actual. Se generan los gets y sets del atributo “piso actual”. Se crean dos métodos booleanos de comprobación. Para validar que el número de personas no sea mayor a la permitida y que la planta a la que se desea ir no sea el mismo en el que se está.

Se crean dos métodos void para subir y bajar plantas. Y métodos void para mostrar “cerrando” o “abriendo” puertas cuando proceda. Se crea un método principal void denominado “ir”, que será el que gestione los desplazamientos y los mensajes. Si se cumple el número máximo de personas, que se encuentra en una planta diferente a la que se desea ir y que la planta elegida esté dentro del rango, en ese caso se produce el movimiento y a cada movimiento se muestra el mensaje “subiendo” o “bajando” según proceda.

package ejerc01;

import leer.*;

public class Principal {

	public static void main(String[] args) {

		System.out.println("Bienvenido al ascensor FOUR ROOMS \n---------\n"
				+ "El programa gestiona el funcionamiento de un ascensor \n"
				+ "Se entra en la Planta Baja(0). Tiene 2 sótanos y 6 plantas sobre rasante \n"
				+ "El número máximo de personas es 5 \n---------");

		boolean repetir = true;

		int plantaElegida;
		int cantidadPersonas;
		Ascensor viaje = new Ascensor();

		do {
			//Se solicita PLANTA y Nº PERSONAS
			System.out.println("¿A qué planta quieres ir?");
			plantaElegida=Leer.datoInt();
			System.out.println("¿Cuántas personas soys?");
			cantidadPersonas=Leer.datoInt();

			//Se ejecuta la clase Ascensor con losdatos del usuario
			viaje.ir(plantaElegida, cantidadPersonas);

			//Se da la posibilidad de usar nuevamente el ascensor
			System.out.println("\n\n------------\n¿Quiere ir a otra planta? "
					+ "\nPulse: \n1 en caso afirmativo \nCualquier número en caso negativo");
			if(Leer.datoInt() != 1){
				repetir=false;
				System.out.println("Que tenga usted un buen día");
			}
		} while(repetir);

	}
}

La primera vez que se ejecute el programa el ascensor se encuentra en la planta 0 (baja). Se crean atributos tipo entero “planta elegida” y “cantidad de personas”, y un objeto instanciado (llamado viaje) de tipo Ascensor con con el que operar.

Al usuario se le piden dos datos:

  • Planta a la que desea ir
  • Número de personas

Estos datos son pasados como parámetros al objeto viaje.

package ejerc01;

import leer.*;

public class Principal {

	public static void main(String[] args) {

		System.out.println("Bienvenido al ascensor FOUR ROOMS n---------n"
				+ "El programa gestiona el funcionamiento de un ascensor n"
				+ "Se entra en la Planta Baja(0). Tiene 2 sótanos y 6 plantas sobre rasante n"
				+ "El número máximo de personas es 5 n---------");

		boolean repetir = true;

		int plantaElegida;
		int cantidadPersonas;
		Ascensor viaje = new Ascensor();

		do {
			//Se solicita PLANTA y Nº PERSONAS
			System.out.println("¿A qué planta quieres ir?");
			plantaElegida=Leer.datoInt();
			System.out.println("¿Cuántas personas soys?");
			cantidadPersonas=Leer.datoInt();

			//Se ejecuta la clase Ascensor con losdatos del usuario
			viaje.ir(plantaElegida, cantidadPersonas);

			//Se da la posibilidad de usar nuevamente el ascensor
			System.out.println("nn------------n¿Quiere ir a otra planta? "
					+ "nPulse: n1 en caso afirmativo nCualquier número en caso negativo");
			if(Leer.datoInt() != 1){
				repetir=false;
				System.out.println("Que tenga usted un buen día");
			}
		} while(repetir);
	}
}

El programa da la posibilidad de repetirse, utilizando como planta actual la última a la que se ha ido, y el número de personas siempre se solicita.