Java - Crear Objeto en un switch

   
Vista:

Crear Objeto en un switch

Publicado por Maxi (2 intervenciones) el 23/08/2009 03:05:58
Buenas,
Tengo que hacer un simple ejercicio, que me permita desde un menu por consola,
1- CREAR UN AUTO
2- MOSTRAR UN AUTO
3- CAMBIAR UN AUTO

Resulta que cuando en la opcion 1 creo el auto, no me permite mostarlo en la opcion 2 :

switch (Opcion) {
case 1 :
Auto auto = new Auto() ;

** cargo datos del auto

case 2 :
System.out.println(auto);

Me dice que no me reconoce auto, si pongo la lina de print en el case 1, si me lo muestra.

Como deberia hacer para hacer un print de los datos cargados en el objeto auto del case 1 ??

Gracias,
Maxi.
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

RE:Crear Objeto en un switch

Publicado por Jerry (62 intervenciones) el 23/08/2009 05:30:04
Pues la propiedad auto de tipo Auto debe ser un objeto creado a nivel de clase no a nivel de metodo, esto porque el objeto auto solo sera instanciado cuando caigas en la opcion 1, en el caso de que trates de acceder en la opcion 2 (como no se ejecuto en ese momento la opcion 1 previamente pues el objeto auto no existira. En resumen, debes crear el objeto auto duera del switch, te recomiendo que lo intentes como porpiedad de clase y no como propiedad instancial, un ejemplo seria lo siguiente


class A{


class A{

    Auto auto;

    public void accesoAuto(int opc){
        switch(opc){
            case 1:
                auto = new Auto();
                break;
            case 2:
                // algun codigo para obtener una propiedad del auto, por ejemplo:
                auto.getModelo();
                break;
            default:
                break;

        }

        }

}
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

RE:Crear Objeto en un switch

Publicado por Jerry (62 intervenciones) el 23/08/2009 05:34:22
Bueno se me paso escribir dos veces la clase, lo importante es la idea de como instanciar tu objeto
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