Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con variable de Método

Estas en el tema de Problema con variable de Método en el foro de Java en Foros del Web. Saludos este es mi primer tema y me gustaria que me ayuden con un programa que debo hacer, es lo siguiente Código: import javax.swing.JOptionPane; public ...
  #1 (permalink)  
Antiguo 18/02/2011, 00:38
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Problema con variable de Método

Saludos este es mi primer tema y me gustaria que me ayuden con un programa que debo hacer, es lo siguiente
Código:
import javax.swing.JOptionPane;

public class prueba {
    int cont;

    public void contar(){
        prueba e = new prueba();
        cont++;
        e.volver();

    }
    public void volver(){
        int imp;
        prueba e = new prueba();
        imp = JOptionPane.showConfirmDialog(null, "¿Desea imprimir un reporte?", "Imprimir", JOptionPane.YES_NO_OPTION);
        if(imp == 0){
            e.mostrar();
        }else if(imp == 1){
            e.contar();
        }
    }
    public void mostrar(){
        JOptionPane.showMessageDialog(null, "resp: " + cont);
    }

}
como se ve creo una clase con tres metodos, que se llaman entre si, pero mi problema es que el el contador del primer metodo nunca pasa de cero, estoy casi seguro que es por la instancia de la clase pero no se me ocurre nada mas para resolverlo.

Por favor alguien que me ayude a resolverlo
  #2 (permalink)  
Antiguo 18/02/2011, 01:32
 
Fecha de Ingreso: febrero-2011
Mensajes: 27
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Problema con variable de Método

Bueno, el problema es que en cada método creas una instancia nueva de la clase prueba, y no trabajas sobre la que realmente quieres... quizás para aclararte un poquito más te convendría el uso de la palabra reservada "this" y cambiar los tres métodos a lo siguiente:

Código:
import javax.swing.JOptionPane;

public class prueba {
    int cont;

    public void contar(){
        this.cont++;
    }
    public void volver(){

        if(JOptionPane.showConfirmDialog(null, "¿Desea imprimir un reporte?", "Imprimir", JOptionPane.YES_NO_OPTION) == 0)
           this.mostrar();
        else
            this.contar();
        
    }
    public void mostrar(){
        JOptionPane.showMessageDialog(null, "resp: " + this.cont);
    }

}
Una vez solucionado esto te falta llamar al constructor desde un método estático (el main) y también poner algún método para interactuar, por ejemplo

Código:
public static void main(blablabla){

  Prueba prueba = new Prueba();
  for (int i = 0; i< 10; i++)
         prueba.volver();

}
  #3 (permalink)  
Antiguo 18/02/2011, 11:19
 
Fecha de Ingreso: febrero-2011
Mensajes: 6
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: Problema con variable de Método

OK gracias, lo voy a probar, sabia que ese this era la solucionpero no recordaba como utilizarlo

Etiquetas: variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:56.