Java - Ayuda urgente por favor!

 
Vista:

Ayuda urgente por favor!

Publicado por Anxi (1 intervención) el 29/10/2011 16:53:50
Buenas tardes necesito ayuda, urgente!! Necesito codificación una clase Expendedor, esta se encargará de gestionar la venta de entradas para un evento.
La clase dispondrá de:

Expendedor(Evento evento, double precio)
Crea un Expendedor de entradas para el evento que se pasa como parámetro, cada entrada
con el precio indicado.

Method Summary

Evento getEvento()

int getDisponibles() Devuelve el número de entradas disponibles sin vender. Inicialmente
están disponibles tantas entradas como aforo tenga el evento.

double getPrecio() Devuelve el precio de una entrada.

int vender(int cantidad) Decrementa el número de entradas disponibles según cantidad, siempre
que haya suficientes entradas, y devuelve el número de entradas vendidas ó
0 en caso de que no existan entradas suficientes ó la cantidad sea un número
negativo.

Si me pudieran ayudar se lo agradecería. Un saludo
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

Ayuda urgente por favor!

Publicado por Renzo (232 intervenciones) el 31/10/2011 16:26:06
Hola,

y como se determina la cantidad de cupos para el evento?

Saludos

Te invito a visitar mi web: http://www.imagineanddo.com
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 urgente por favor!

Publicado por Anxi (6 intervenciones) el 02/11/2011 09:59:24
la clase Evento más Aplicacion de dicho evento que lo comprueba te lo dan es:
Clase que representa a un evento
@author Programacion II
@version 1.0
*/
public class Evento { // inicio de clase
private String nombre;
private int aforo;
/** Crea un evento con su nombre y el aforo disponible.
@param n nombre del evento
@param a aforo
*/
public Evento ( String n, int a) {
nombre = n;
aforo = a;
}
/** Devuelve el nombre del evento
@return nombre del evento
*/
public String getNombre() {
return nombre;
}
/** Devuelve el aforo del evento
@return aforo del evento
*/
public int getAforo() {
return aforo;
}
} // fin de clase

aplicacion:
Ejemplo con dos clases
@author Programacion II
@version 1.0
*/
public class Aplicacion { // inicio de clase
/** Programa principal de la aplicación */
public static void main (String args[]) {
Evento evento;
evento = new Evento ("Concierto JB”, 150);
System.out.println ("El evento " + evento.getNombre() +
" tiene " + evento.getAforo() + " plazas!");
} // fin del main
} // fin clase
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 urgente por favor!

Publicado por Renzo (232 intervenciones) el 02/11/2011 16:45:25
Hola, la clase Expendedor serias asi:



/////////////////////////////////////////////////////
public class Expendedor {

private Evento evento;
private double precio;
private int cantidadVendidas;

public Expendedor(Evento e,double precio){
this.setCantidadVendidas(0);
this.setEvento(e);
this.setPrecio(precio);

}

public int vender(int cantidad){
if( (cantidadVendidas+cantidad) <= evento.getAforo()){
cantidadVendidas+=cantidad;
return cantidad;
}
else{
return 0;
}

}

public int getDisponibles(){
return evento.getAforo()-cantidadVendidas;

}

public Evento getEvento() {
return evento;
}
public void setEvento(Evento evento) {
this.evento = evento;
}
public double getPrecio() {
return precio;
}
public void setPrecio(double precio) {
this.precio = precio;
}
public int getCantidadVendidas() {
return cantidadVendidas;
}
public void setCantidadVendidas(int cantidadVendidas) {
this.cantidadVendidas = cantidadVendidas;
}
}
/////////////////////////////////////////////////////








Y tu clase main seria algo asi:

//////////////////////////////////////////////
public class Aplicacion {
/** Programa principal de la aplicación */
public static void main (String args[]) {
Evento evento;
evento = new Evento ("Concierto JB", 150);
System.out.println ("El evento " + evento.getNombre() +
" tiene " + evento.getAforo() + " plazas!");


Expendedor exp=new Expendedor(evento,50);

int cantidad = 10;
System.out.println ("vender " + cantidad + " ---> " + "Se vendieron " + exp.vender(cantidad));

cantidad = 50;
System.out.println ("vender " + cantidad + " ---> " + "Se vendieron " + exp.vender(cantidad));
cantidad = 80;
System.out.println ("vender " + cantidad + " ---> " + "Se vendieron " + exp.vender(cantidad));
cantidad = 40;
System.out.println ("vender " + cantidad + " ---> " + "Se vendieron " + exp.vender(cantidad));


} // fin del main
}


//////////////////////////////////////////////



Espero haberte ayudado.

Te invito a visitar mi web: http://www.imagineanddo.com
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 urgente por favor!

Publicado por Anxi (6 intervenciones) el 03/11/2011 18:50:39
Muchas gracias!! siento ser pesada, de verdad que lo siento pero es que el main que me piden de la practica entera es un poco rayada me piden.

Codifique otra clase Aplicacion2 que permita probar todas las operaciones con un número seleccionable de eventos. El programa solicitará inicialmente el número de eventos con que se desea trabajar, y después solicitará para cada evento una cadena de caracteres con sus datos, esta cadena tiene un formato especial que contendrán todos los datos necesarios. Ejemplos de cadenas de caracteres válidas introducidas por el usuario para esta aplicación de prueba:
Nombre:Concierto;Aforo:2000;Precio:35.5;
Aforo:20;Precio:10;Nombre:Pelicula;
Precio:42;Nombre:Teatro;Aforo:100;

A partir de la información recogida (en la cadena correspondiente) la Aplicacion2 creará cada uno de los eventos y el expendedor de entradas asociado. A continuación la clase Aplicacion2 deberá mostrar un menú de opciones que permita probar el funcionamiento de todas las operaciones con los eventos creados. El siguiente ejemplo muestra la ejecución si se selecciona crear dos eventos:
BIENVENIDO A LA ENTRADA DE DATOS DE EXPENDEDORES
=============================================
Numero de eventos a crear: 2
Teclea información para el Expendedor 1 :
Nombre:Concierto PinPan;Aforo:2000;Precio:35.5;
Teclea información para el Expendedor 2:
Precio:42;Nombre:Teatro Yuyu;Aforo:100;
VENTA DE ENTRADAS
======================
1 -> Concierto PinPan
2 -> Teatro Yuyu
0-> Salir de la aplicación
ELIJA OPCION (0-2):
Si se escoge las opciones 1 o 2 la aplicación mostrará el siguiente menú de opciones para operar con el evento
en cuestión: (tras elegir la opción 1)
EVENTO Concierto PinPan, Entradas disponibles: 2000, Precio: 35.5;
==============================================================
OPCIONES:
V -> Vender entradas S -> Volver al menú anterior
ELIJA OPCION: V (tras teclear opción V. Se realizará la operación seleccionada y se mostrará el resultado
(correcto o no)).
INTRODUZCA NUMERO DE ENTRADAS A VENDER: 10 (Se pide al usuario que introduzca el número de entradas
a vender, si el número es positivo el programa funcionará correctamente, si es negativo o no hay suficientes
entradas a la venta se indicará con un error)
VENDIDAS 10 ENTRADAS, PRECIO TOTAL: 355
EVENTO Concierto PinPan, Entradas disponibles:1990, Precio:35.5;
==============================================================
OPCIONES:
V -> Vender entradas S -> Volver al menú anterior
ELIJA OPCION:S
MANEJO DE STOCK
======================
1 -> Concierto PinPan
2 -> Teatro Yuyu
0-> Salir de la aplicación
ELIJA OPCION (0-2):0
Fin de la ejecución del programa

creo que la primera parte la tengo es algo asi no?
Expendedor crearExpendedor (String cadena){

Expendedor exp = null;
Evento evento = null;
String nombre = null;
String[] parte1;
int aforo = 0;
double precio = 0;
String[] partes = cadena.split (";");

parte1 = partes[0].split(":");
if (parte1[0].equals ("Nombre"))
nombre = parte1[1];
if (parte1[0].equals ("Aforo"))
aforo = Integer.parseDouble (parte1[1]);
if (parte1[0].equals ("Precio"))
precio = Double.parseDouble (parte1[1]);

parte1 = partes[1].split(":");
if (parte1[0].equals ("Nombre"))
nombre = parte1[1];
if (parte1[0].equals ("Aforo"))
aforo = Integer.parseDouble (parte1[1]);
if (parte1[0].equals ("Precio"))
precio = Double.parseDouble (parte1[1]);

parte1 = partes[2].split(":");
if (parte1[0].equals ("Nombre"))
nombre = parte1[1];
if (parte1[0].equals ("Aforo"))
aforo = Integer.parseDouble (parte1[1]);
if (parte1[0].equals ("Precio"))
precio = Double.parseDouble (parte1[1]);
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 urgente por favor!

Publicado por Renzo (232 intervenciones) el 03/11/2011 20:33:23
Eso de los menus lo quieren con ventanas? han tocado ese tema en clases? o toda la interaccion con el usuario va a ser con la consola?
Bueno me confirmas.
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 urgente por favor!

Publicado por Renzo (232 intervenciones) el 03/11/2011 20:37:07
Hola, tienes ese texto en un documento? Enviamelo a mi correo
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 urgente por favor!

Publicado por Renzo (232 intervenciones) el 03/11/2011 23:37:36
Tienes el texto de tu tarea en un word o pdf?
enviamelo a mi correo
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 urgente por favor!

Publicado por Renzo (232 intervenciones) el 04/11/2011 01:08:21
A ver como me quedo:

Espero te sirva

///////////////////////////////////////////////////////////////////////

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
*
*/

/**
* @author www.imagineanddo.com
*
*/
public class Aplicacion2 {

/**
* @param args
*/
public static void main(String[] args) {
try{
System.out.println("BIENVENIDO A LA ENTRADA DE DATOS DE EXPENDEDORES");
System.out.println("=============================================");
System.out.print("Numero de eventos a crear:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String sTexto = br.readLine();
int cant=Integer.parseInt(sTexto);
String[] datos= new String [cant];
for(int i=0;i<cant;i++){
System.out.println("Teclea información para el Expendedor "+(i+1)+" :");
br = new BufferedReader(new InputStreamReader(System.in));
datos[i]=br.readLine();
}
Expendedor [] arrExpend = new Expendedor [cant];
for(int i=0;i<datos.length;i++){
String [] arr = datos[i].split(";");
String nombreEvento="";
int aforo=0;
double precio=0;
for(int x=0;x<3;x++){
String valor=arr[x].substring( ( arr[x].indexOf(":")+1 ) , (arr[x].length()));
if(arr[x].indexOf("Nombre")!=-1){nombreEvento=valor;}
if(arr[x].indexOf("Aforo")!=-1){aforo=Integer.parseInt(valor);}
if(arr[x].indexOf("Precio")!=-1){precio=Double.parseDouble(valor);}
}
Evento e=new Evento(nombreEvento,aforo);
Expendedor exp=new Expendedor(e,precio);
arrExpend[i]=exp;
}
boolean fin=false;
while(!fin){
System.out.println("VENTA DE ENTRADAS");
System.out.println("======================");
for(int i=0;i<arrExpend.length;i++){
System.out.println((i+1) + " -> "+arrExpend[i].getEvento().getNombre());
}
System.out.println("0" + " -> Salir de la aplicación");
System.out.println("ELIJA OPCION (0-2):");
br = new BufferedReader(new InputStreamReader(System.in));
String t = br.readLine();
int op=Integer.parseInt(t);
if(op==0){fin=true;}
else{
boolean fin2=false;
while(!fin2){

System.out.println("EVENTO "+arrExpend[op-1].getEvento().getNombre() + " , Entradas disponibles: "+arrExpend[op-1].getDisponibles()+" , Precio: "+arrExpend[op-1].getPrecio());
System.out.println("==============================================================");
System.out.println("OPCIONES:");
System.out.println("V -> Vender entradas S -> Volver al menú anterior");
br = new BufferedReader(new InputStreamReader(System.in));
String t2 = br.readLine();
if(t2.toUpperCase().equals("S")){fin2=true;}
if(t2.toUpperCase().equals("V")){
System.out.print("INTRODUZCA NUMERO DE ENTRADAS A VENDER: ");
br = new BufferedReader(new InputStreamReader(System.in));
String t3 = br.readLine();
int cantEntradas=Integer.parseInt(t3);
int vendido=arrExpend[op-1].vender(cantEntradas);
if(vendido>0){
System.out.println("VENDIDAS "+arrExpend[op-1].getCantidadVendidas() + " ENTRADAS, PRECIO TOTAL: "+cantEntradas*arrExpend[op-1].getPrecio());
}
else{
System.out.println("Error al vender entradas");
}

}else{
System.out.println("Ingrese una opcion correcta");
}

}
}
}
System.out.println("Muchas gracias. Chao");
}
catch(Exception e){
System.out.println("Error: "+e.getMessage());
}
}

}




///////////////////////////////////////////////////////////////////////


Saludos

Te invito a visitar mi web: http://www.imagineanddo.com
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 urgente por favor!

Publicado por Anxi (6 intervenciones) el 04/11/2011 13:45:50
me sale un pequeño error al compilar pone:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

at Aplicacion2.main(Aplicacion2.java:8)
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 urgente por favor!

Publicado por Renzo (232 intervenciones) el 04/11/2011 15:35:15
en la linea 8? que tienes en esa linea?

Que jdk estas usando? y que ide?
yo lo implemente con eclipse europa y jdk 6
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