Java - Ayuda con Java con variables boleanas

 
Vista:

Ayuda con Java con variables boleanas

Publicado por Wdreams (2 intervenciones) el 05/11/2013 09:57:57
Tengo que hacer un ejercicio para un programa de venta de billetes de autobuses y la cosa es que me he atascado. Espero que alguien me pueda ayudar a seguir con el ejercicio.
Me problema es que no se como continuar para asignar automáticamente las plazas , mostrarn la infomarcion y como hacer para que me muestre el estado de los asientos en true y false.

Ejercicio:
Desarrollar un programa que implementa la compra de varios billetes por
varios clientes en un autobús con cuatro plazas.
El precio de un billete es constante y será suministrado al sistema antes de
activar la compra de billetes. El cliente tiene un descuento del 20% si
compra dos o más billetes.
El programa asignará automáticamente las plazas solicitadas por el cliente,
aplicará el descuento si el número de plazas es mayor o igual a dos y
mostrará por pantalla la información de la compra (asientos, precio, etc).
El programa mostrará el estado de los asientos después de la compra. Si el
estado es true el asiento está ocupado y si es false está libre.
El programa debe permitir comprar billetes a clientes mientras haya billetes
disponibles.

Y ya como extra:
El programa ofrece un menú en el que se permite elegir una venta o
terminar el programa. El menú debe ofrecerse en pantalla hasta que se elija
terminar o no haya más billetes disponibles.

Esto es lo que yo tengo echo:
import java.util.Scanner;
public class Sesion2 {
public static void main(String [] args) {
int precio_billete =5;
final double descuento = 0.8;
int plazas;
Scanner leer = new Scanner(System.in);
System.out.println("¿Cuantos billetes desea adquerir?");
plazas = leer.nextInt();
if (plazas ==0) {
precio_billete=0;
}
if (plazas >=2 & plazas <=4) {
System.out.println("El precio es:");
System.out.println(plazas * (precio_billete - descuento));
}
if (plazas >4) {
System.out.println("El numero maximo de plaza es 4");
}

// Asientos
boolean A = true;
boolean B = true;
boolean C = true;
boolean D = true;

}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco Javier

Ayuda con Java con variables boleanas

Publicado por Francisco Javier (22 intervenciones) el 06/11/2013 16:10:34
¿Y cuál es tu duda amigo?
=)

No puedo ayudarte si no me dices en que quieres que te ayude.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con Java con variables boleanas

Publicado por Wdreams (2 intervenciones) el 06/11/2013 19:24:53
De todo el ejercicio solo me falta como mostrar que un asiento esta libre o esta ocupado, en caso de que un asiento este ocupado seria true y si esta libre false, no se que codigo tengo que poner ni que variables. Espero que me puedas ayudar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco Javier

Ayuda con Java con variables boleanas

Publicado por Francisco Javier (22 intervenciones) el 06/11/2013 20:56:29
Hay varias cosas que se pueden hacer, y depende de como hayas estructurado tu código...

te pondré algunas ideas acá:

1.- Lo que no debes de hacer es crear una variable para cada asiento, eso en sí trabajaría bien, pero es una forma incorrecta de hacerlo.

2.- Una forma sencilla y de las viables y como yo lo haría, es manejar los asiento en un arreglo de tipo Boolean.

por ejemplo:
boolean[][] aciento = new boolean[4][3]; //4 columnas, 3 filas)

// inicializamos todo en false:
for ( int c=0; c<4; c++ )
for ( int f=0; f<3; f++ )
{
aciento[c][f] = false;
}

//Preguntar que asiento se desea, (independientemente se identificaran mediante otro código)
//El usuario selecciona su aciento:
System.out.println("Seleccione su aciento: ");
int fila= Integer.parteInt(teclado.readLine());
int columna = Integer.parseInt(teclado.readLine());

// y ahora indicamos que el aciento ya se ocupó:
aciento[columna][fila] = true;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar