Acessar variável de outro método

8 respostas
tomwel

Olá Pessoal!

Sou iniciante em java e to com uma dúvida aqui.

Criei dois métodos em uma classe. Um para fazer uma operação matemática e outro para imprimir o resultado, mas não sei como referenciar a variável resultado do método que calcula no método que imprimi.

public int elevadoA(int x, int y){
        int cont = 0;
        int aux = x;
        while(cont < y-1){
            xy = aux * x;
            x = xy;      
            cont++;
        }
        int resultado = x;
        return resultado;
    }
    
    public void imprimeResultado(){
        JOptionPane.showMessageDialog(null, "Quero imprimir a variavel resultado aqui");
    }

8 Respostas

Fernando_Generoso_da

Acho que assim dá:

JOptionPane.showMessageDialog(null, ""+elevadoA(4,6));
cido18

Uma opção também seria:

public void elevadoA(int x, int y){  
        int cont = 0;  
        int aux = x;  
        while(cont < y-1){  
            xy = aux * x;  
            x = xy;        
            cont++;  
        }  
        int resultado = x;  
        imprimeResultado(resultado);  
    }  
      
    public void imprimeResultado(int resultado){  
        JOptionPane.showMessageDialog(null, " "+ resultado);  
    }

Acho que seria mais fácil.

tomwel

Muito obrigado meu caro! :smiley:

Fernando_Generoso_da
cido18:
Uma opção também seria:
public void elevadoA(int x, int y){  
        int cont = 0;  
        int aux = x;  
        while(cont < y-1){  
            xy = aux * x;  
            x = xy;        
            cont++;  
        }  
        int resultado = x;  
        imprimeResultado(resultado);  
    }  
      
    public void imprimeResultado(int resultado){  
        JOptionPane.showMessageDialog(null, " "+ resultado);  
    }

Acho que seria mais fácil.

Com essa abordagem, eu teria um problema de coesão do código... Quem deve imprimir o resultado, nao é o método que calcula ele...e sim o método imprimeResultado. Dessa forma, tu limita o uso do método elevadoA para sempre que for usálo, disparar uma mensagem, quando eu poderia querer o resultado para fazer outra coisa.

cido18

Olá Fernando Generoso da Rosa,

Concordo com você e agradeço por está observação, no momento que demonstrei o código não havia pensado nesta possibilidade.

Muito obrigado.

tomwel

Muito obrigado aos dois!

cido18

tomwel , caso não tenha mais nenhuma dúvida, não esqueça de colocar o tópico como resolvido.

tomwel

Ok Pessoal resolveu a bronca aqui.
Vlw!

Criado 26 de setembro de 2012
Ultima resposta 29 de set. de 2012
Respostas 8
Participantes 3