Ayuda con programa en Java

Iniciado por manuske, 22 Febrero 2020, 02:17 AM

0 Miembros y 1 Visitante están viendo este tema.

manuske

Buenas! Necsito ayudar con un programa en java donde debo solicitar al usuario un asiento de avion del 00 al 20 pero debo validar si el asiento ya esta ocupado al momento de ingresarlo pero no se como hacerlo porfavor ayuda y gracias!!

MOD: titulo modificado (mas descriptivo)

ryhuso

podrías hacerlo con un array de tamaño 20, y creas un método para que recorra el mismo(un for )y compare con una variable igual a una cadena ya que está contiene nombres de usuario y que te devuelva una boolean si es true puedes añadir un nuevo usuario y de lo contrario muestras un mensaje que ya esta ocupado.

K-YreX

Todo depende de cómo estructures el ejercicio ya que dependerá de las clases que estés usando y las restricciones que tenga que haber entre ellas. No es lo mismo tener por ejemplo usuarios y que cada uno almacene su número de asiento que tener únicamente los asientos.
En el segundo caso que es más sencillo, como te ha dicho @ryhuso, puedes tener un array de tipo boolean y longitud 21. La longitud tiene que ser 21 porque es el número de asientos que hay entre el 0 y el 20. Entonces a la hora de reservar un asiento, si ese índice del array vale true es que ya está ocupado, y si vale false es que está disponible y tendrás que ponerlo a true.

Pero como te digo, lo más importante es cómo tengas estructurado tu programa ya que cada implementación conllevará una solución diferente. Si quieres ayuda más concreta tendrás que dejar algo de tu código para que podamos verlo.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

Serapis

En realidad el programa estará controlado por el mnúmero de asientos libres.
Entrarías en un ciclo infinito, si le dices al viajero que ese asiento está ocupado y que elija otro (que tambié está ocupado).


// Inicialmente AsientosTotales = 21  (ó 20 si te expresaste mal).
// Inicialmente AsientosLibres = AsientosTotales
// Inicialmente un array (para un simple ejercicio es suficiente así):
//    Asientos(AsientosTotales) es declarado y dimensionado al número de
//    asientos totales (0 a 20). Y de tipo buleano como ya te han dicho va perfecto para ejercicios.

Si (AsientosLibres > 0)
    mensaje = "Elija su asiento entre el 0 y el 20 (algunos pueden estar ya ocupados)."
    ocupado = ""

    Hacer
        AsientoElegido = EleccionDelUsuario(mensaje + ocupado, 0, 20)
        ocupado = "El asiento " + Asientoelegido.ToString + " ya está ocupado."
    Repetir mientras (Asientos(AsientoElegido) = TRUE)

    Asientos(AsientoElegido) = TRUE
    AsientosLibres  -=1
    Si (AsientosLibres = 0)
        mensaje "Vuelo lleno..."
    fin si
Sino
    mensaje "Lo sentimos no quedan plazas en este vuelo. Elija otra fecha de vuelo u otro destino..."
fin si

Esto te puede dar alguna idea, pero tendrás que acomodarlo a tu código.

Acostúmbrate a poner algo de código o como mínimo un mensaje más descriptivo (ahora mismo es tan genérico que acepta cualquier cosa)... sino lo más probable es que ni recibas respuesta.