Documentos de Académico
Documentos de Profesional
Documentos de Cultura
JTextArea;
import javax.swing.JOptionPane;
Ascensor() {
salida2="";
estadoPuerta=false;
pisoActual=1;
peso=0;
Capacidad=600; //capacidad maxima
Final=5;
Inicio=1; //primer piso
}
public void verificarPuerta() {
if(estadoPuerta=false)
estadoPuerta=true;
}
public void cerrarPuerta() {
calcularCapacidad();
if(peso<=Capacidad)
estadoPuerta=false;
else {
JOptionPane.showMessageDialog(null,"El elevador excede su capacidad de peso"+
"Las puertas permaneceran abiertas hasta que quede menos de 1000KG"+
"Vuelva a seleccionar piso por favor...");
}
}
//MEtodo asigana numero azar entre 1 y 1200
private void calcularCapacidad() {
peso=(int)(Math.random()*1200);
salida2="El peso es "+peso;
}
public void irArriba() {
if(!estadoPuerta) {
if(pisoActual<Final) {
pisoActual++;
salida2=salida2+"Piso"+pisoActual; //asigna a salida2 mensaje del piso actual
}
}
else //si puerta abiertamensaje no puede subir elevador, peso excede
JOptionPane.showMessageDialog(null,"Las puertas aun estan abiertas...");
}
public void irAbajo() {
if(!estadoPuerta) {
if(pisoActual>Inicio) {
pisoActual--;
salida2=salida2+"Piso"+pisoActual; //asigna a salida2 mensaje del piso actual
}
}
else //si puerta abiertamensaje
JOptionPane.showMessageDialog(null,"Las puertas aun estan abiertas...");
}
public void seleccionarPiso(int pisoDeseado) {
if((pisoDeseado>=Inicio)&&(pisoDeseado<=Final)) {
cerrarpuerta(); //calcula pesoy si excede envia mensaje contrario cambia
estadoPuerta a false
// para indicar q se cerro puerta y procede a mover elevador
if(pisoActual==pisoDeseado)
JOptionPane.showMessageDialog(null,"Ya esta en el piso"+pisoActual);
else //si piso distinto se hace un ciclo
while(pisoActual!=pisoDeseado && peso<=1000) //mientras pisoActual diferente de
pisoDeseado
//invoca subir o bajar
{
if(pisoActual<pisoDeseado)
irArria();
else
irAbajo();
}
area2.setText(salida2);
JOptionPane.showMessageDialog(null, area2); //muetsra
} //fin if
else {
JOptionPane.showMessageDialog(null,"Piso invalido");
//metodo regresa piso actual
public int obtenerPiso() //recupera y regresa valor piso actual
{
return pisoActual;
}
public boolean conocerEstadoPuerta() {
return estadoPuerta;
}
}
////////
Strig salida;
int pisoActual=0;
boolean estadoPuerta=false;
int opc=0; //opcion menu
int piso=0; //leer piso deseado
String mensPuerta=""; //imprimir mensaje de puerta abierta o cerrada
Ascensor asc=newAscensor();
JTextArea area=newJTextArea();
String auxiliar;
do {
try{
pisoActual=eleva.obtenerPiso();
estadoPuerta=eleva.conocerEstadoPuerta();
if(estadoPuerta)
mensPuerta="Abierta";
else
mensPuerta="Cerrada";
salida="";
//se asignan las siguientes lineas a salida
salida="\nPiso actual; "+pisoActual+ " ....Puerta="+mensPuerta+
"\n1.Abrir puerta" +
"\n2.Seleccionar piso" +
"\n3.Salir" +
"\nEscriba opcion...";
//leer opcion
area.setText(salida);
//variable auxiliar servira para capturar valor tipo cadena, q usuario escribira
como opcion
auxiliar=JOptionPane.showInputDialog(null,area,"MENU",
JOptionPane.QUESTION_MESSAGE);
opc=Integer.parselnt(auxiliar);