Ayuda con MENU usando SWITCH en un MAIN
Publicado por Enrique (3 intervenciones) el 28/04/2013 14:37:20
Hola 
Estoy haciendo un menu dentro de un main usando un switch y las sentencias que tengo dentro del CASE X: NO SE EJECUTAN excepto la println que la pongo para ver si funciona el switch.
Si las sentencias las pongo fuera del SWITCH si funcionan pero dentro del SWITCH no funcionan
por favor ayuda, llevo ya unas cuantas horaasssssss y no hay forma
COPIO EL CODIGO COMENTADO EN MAYUSCULAS INDICANDO CUAL ES EL PROBLEMA
/** Clase Lanzador. Contiene el "main" */
import java.util.Scanner;
public class Lanzador{
public static void main(String[] args) {
/** Declaramos e iniciamos el gestor de tiradas */
Gestortiradas gt = new Gestortiradas();
/** Creamos un objeto de tipo cartel
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodos correspondientes */
Cartel c1 = new Cartel();
c1.setcartelIdentificador("XXXX5");
c1.setNomFichero("Cartel1");
c1.setRutaDir("/sub/carpetac1/");
c1.setPixeles(450,400);
/** Creamos otro objeto de tipo cartel
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodos correspondientes */
Cartel c2 = new Cartel();// creamos un objeto tipo cartel
c2.setcartelIdentificador("PPPP6");
c2.setNomFichero("Cartel2");
c2.setRutaDir("/sub/carpetac2/");
c2.setPixeles(500,600);
/** Creamos un objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes */
Tirada tirada1 = new Tirada();
tirada1.setAnoEntrega(2013);
tirada1.setMesEntrega(12);
tirada1.setDiaEntrega(3);
tirada1.setEmpresaCliente("Conservas Mare Nostrum");
tirada1.setFormato(Tirada.A2);
tirada1.setIdentificador("Tirada 1");
tirada1.setNumCopias(120);
tirada1.setColor(true);
tirada1.setProcesada(true);
/**Asociamos carteles a sus tiradas. En este caso a tirada1, se le asocia el cartel c1 */
tirada1.setCartel(c1);
/** Imprimimos el resultado */
System.out.println(tirada1.printTirada());
/** Creamos otro objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes */
Tirada tirada2 = new Tirada();
tirada2.setAnoEntrega(2014);
tirada2.setMesEntrega(5);
tirada2.setDiaEntrega(24);
tirada2.setEmpresaCliente("Muebles Bosque");
tirada2.setFormato(Tirada.A1);
tirada2.setIdentificador("Tirada 2");
tirada2.setNumCopias(1000);
tirada2.setColor(false);
tirada2.setProcesada(true);
/**Asociamos carteles a sus tiradas. En este caso a tirada2, se le asocia otra vez el cartel c1 */
tirada2.setCartel(c1);
/** Imprimimos el resultado */
System.out.println(tirada2.printTirada());
/** Creamos otro objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes */
Tirada tirada3 = new Tirada();
tirada3.setAnoEntrega(2013);
tirada3.setMesEntrega(9);
tirada3.setDiaEntrega(10);
tirada3.setEmpresaCliente("Deportes Arturo");
tirada3.setFormato(Tirada.A2);
tirada3.setIdentificador("Tirada 3");
tirada3.setNumCopias(500);
tirada3.setColor(true);
tirada3.setProcesada(false);
/**Asociamos carteles a sus tiradas. En este caso a tirada3, se le asocia el cartel c2 */
tirada3.setCartel(c2);
/** Imprimimos el resultado */
System.out.println(tirada3.printTirada());
/** Creamos otro objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes
*Ejemplo de una tirada con formato incorrecto, para la que no se podra calcular un presupuesto */
Tirada tirada4 = new Tirada();
tirada4.setAnoEntrega(2013);
tirada4.setMesEntrega(7);
tirada4.setDiaEntrega(10);
tirada4.setEmpresaCliente("Componentes electronicos");
tirada4.setFormato("A5");
tirada4.setIdentificador("Tirada 4");
tirada4.setNumCopias(100);
tirada4.setColor(true);
tirada4.setProcesada(false);
tirada4.setCartel(c2);
System.out.println(tirada4.printTirada());
/** Añadimos las nuevas tiradas al sistema */
//gt.añadirTirada(tirada1); // DESCOMENTADAS SI QUE FUNCIONAN
//gt.añadirTirada(tirada2); // LAS COMENTAMOS PARA QUE NO EJECUTEN Y
//gt.añadirTirada(tirada3); // LAS PONEMOS EN EL SWITCH,
//gt.añadirTirada(tirada4);
/** Listar el presupuesto asociado a una empresa */
gt.presupuestoTotalTiradas("Componentes electronicos");
/** Modificar la informacion relativa a uno de los carteles */
gt.modCartel("Tirada 3", "Nueva tirada", "/sub/nueva_carpeta/");
/** Lista la informacion de las tiradas para comprobar que se ha actualizado la informacion de los carteles*/
gt.listarTiradas();
/** MENU */
int menu = 0;
System.out.println("\n\n\n\n****** MENU DEL GESTOR DE TIRADAS\n");
System.out.println("****** Elegir Opcion ******\n");
System.out.println("****** 1: Crear un gestor de tiradas ******\n");
System.out.println("****** 2: Crear varios carteles ******\n");
System.out.println("****** 3: Crear varias tiradas y asociarlas a diferentes carteles creados en la opcion 2 ******\n");
System.out.println("****** 4: Añadir las nuevas tiradas al sistema ******\n");
System.out.println("****** 5: Listar el presupuesto asociado a una empresa en base a las tiradas anteriores ******\n");
System.out.println("****** 6: Modificar la informacion relativa a uno de los carteles en el sistema de ficheros ******\n");
System.out.println("****** 7: Listar la informacion de las tiradas para comprobar que se ha actualizado la informacion de los carteles ******\n");
Scanner reader = new Scanner(System.in);
menu = reader.nextInt();
switch (menu){
case 4:
//
// POR QUE NO SE EJECUTAN LAS 4 SENTENCIAS ????????
gt.añadirTirada(tirada1); // NO SE EJECUTA
gt.añadirTirada(tirada2); // NO SE EJECUTA
gt.añadirTirada(tirada3); // NO SE EJECUTA
gt.añadirTirada(tirada4); // NO SE EJECUTA
System.out.println("Hola"); // ESTA SI SE EJECUTA
break;}
}// Cierre del MAIN
}// Cierre del la clase

Estoy haciendo un menu dentro de un main usando un switch y las sentencias que tengo dentro del CASE X: NO SE EJECUTAN excepto la println que la pongo para ver si funciona el switch.
Si las sentencias las pongo fuera del SWITCH si funcionan pero dentro del SWITCH no funcionan
por favor ayuda, llevo ya unas cuantas horaasssssss y no hay forma

COPIO EL CODIGO COMENTADO EN MAYUSCULAS INDICANDO CUAL ES EL PROBLEMA
/** Clase Lanzador. Contiene el "main" */
import java.util.Scanner;
public class Lanzador{
public static void main(String[] args) {
/** Declaramos e iniciamos el gestor de tiradas */
Gestortiradas gt = new Gestortiradas();
/** Creamos un objeto de tipo cartel
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodos correspondientes */
Cartel c1 = new Cartel();
c1.setcartelIdentificador("XXXX5");
c1.setNomFichero("Cartel1");
c1.setRutaDir("/sub/carpetac1/");
c1.setPixeles(450,400);
/** Creamos otro objeto de tipo cartel
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodos correspondientes */
Cartel c2 = new Cartel();// creamos un objeto tipo cartel
c2.setcartelIdentificador("PPPP6");
c2.setNomFichero("Cartel2");
c2.setRutaDir("/sub/carpetac2/");
c2.setPixeles(500,600);
/** Creamos un objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes */
Tirada tirada1 = new Tirada();
tirada1.setAnoEntrega(2013);
tirada1.setMesEntrega(12);
tirada1.setDiaEntrega(3);
tirada1.setEmpresaCliente("Conservas Mare Nostrum");
tirada1.setFormato(Tirada.A2);
tirada1.setIdentificador("Tirada 1");
tirada1.setNumCopias(120);
tirada1.setColor(true);
tirada1.setProcesada(true);
/**Asociamos carteles a sus tiradas. En este caso a tirada1, se le asocia el cartel c1 */
tirada1.setCartel(c1);
/** Imprimimos el resultado */
System.out.println(tirada1.printTirada());
/** Creamos otro objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes */
Tirada tirada2 = new Tirada();
tirada2.setAnoEntrega(2014);
tirada2.setMesEntrega(5);
tirada2.setDiaEntrega(24);
tirada2.setEmpresaCliente("Muebles Bosque");
tirada2.setFormato(Tirada.A1);
tirada2.setIdentificador("Tirada 2");
tirada2.setNumCopias(1000);
tirada2.setColor(false);
tirada2.setProcesada(true);
/**Asociamos carteles a sus tiradas. En este caso a tirada2, se le asocia otra vez el cartel c1 */
tirada2.setCartel(c1);
/** Imprimimos el resultado */
System.out.println(tirada2.printTirada());
/** Creamos otro objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes */
Tirada tirada3 = new Tirada();
tirada3.setAnoEntrega(2013);
tirada3.setMesEntrega(9);
tirada3.setDiaEntrega(10);
tirada3.setEmpresaCliente("Deportes Arturo");
tirada3.setFormato(Tirada.A2);
tirada3.setIdentificador("Tirada 3");
tirada3.setNumCopias(500);
tirada3.setColor(true);
tirada3.setProcesada(false);
/**Asociamos carteles a sus tiradas. En este caso a tirada3, se le asocia el cartel c2 */
tirada3.setCartel(c2);
/** Imprimimos el resultado */
System.out.println(tirada3.printTirada());
/** Creamos otro objeto de tipo tirada
*Iniciamos los atributos del objeto enviado los datos como parametros
*a los metodo correspondientes
*Ejemplo de una tirada con formato incorrecto, para la que no se podra calcular un presupuesto */
Tirada tirada4 = new Tirada();
tirada4.setAnoEntrega(2013);
tirada4.setMesEntrega(7);
tirada4.setDiaEntrega(10);
tirada4.setEmpresaCliente("Componentes electronicos");
tirada4.setFormato("A5");
tirada4.setIdentificador("Tirada 4");
tirada4.setNumCopias(100);
tirada4.setColor(true);
tirada4.setProcesada(false);
tirada4.setCartel(c2);
System.out.println(tirada4.printTirada());
/** Añadimos las nuevas tiradas al sistema */
//gt.añadirTirada(tirada1); // DESCOMENTADAS SI QUE FUNCIONAN
//gt.añadirTirada(tirada2); // LAS COMENTAMOS PARA QUE NO EJECUTEN Y
//gt.añadirTirada(tirada3); // LAS PONEMOS EN EL SWITCH,
//gt.añadirTirada(tirada4);
/** Listar el presupuesto asociado a una empresa */
gt.presupuestoTotalTiradas("Componentes electronicos");
/** Modificar la informacion relativa a uno de los carteles */
gt.modCartel("Tirada 3", "Nueva tirada", "/sub/nueva_carpeta/");
/** Lista la informacion de las tiradas para comprobar que se ha actualizado la informacion de los carteles*/
gt.listarTiradas();
/** MENU */
int menu = 0;
System.out.println("\n\n\n\n****** MENU DEL GESTOR DE TIRADAS\n");
System.out.println("****** Elegir Opcion ******\n");
System.out.println("****** 1: Crear un gestor de tiradas ******\n");
System.out.println("****** 2: Crear varios carteles ******\n");
System.out.println("****** 3: Crear varias tiradas y asociarlas a diferentes carteles creados en la opcion 2 ******\n");
System.out.println("****** 4: Añadir las nuevas tiradas al sistema ******\n");
System.out.println("****** 5: Listar el presupuesto asociado a una empresa en base a las tiradas anteriores ******\n");
System.out.println("****** 6: Modificar la informacion relativa a uno de los carteles en el sistema de ficheros ******\n");
System.out.println("****** 7: Listar la informacion de las tiradas para comprobar que se ha actualizado la informacion de los carteles ******\n");
Scanner reader = new Scanner(System.in);
menu = reader.nextInt();
switch (menu){
case 4:
//
// POR QUE NO SE EJECUTAN LAS 4 SENTENCIAS ????????
gt.añadirTirada(tirada1); // NO SE EJECUTA
gt.añadirTirada(tirada2); // NO SE EJECUTA
gt.añadirTirada(tirada3); // NO SE EJECUTA
gt.añadirTirada(tirada4); // NO SE EJECUTA
System.out.println("Hola"); // ESTA SI SE EJECUTA
break;}
}// Cierre del MAIN
}// Cierre del la clase
Valora esta pregunta


0