Erro de Compilação (missing return statement)

6 respostas
VinnyJ

Tô com um probleminha de compilação aki, será que alguém pode me ajudar?!?!?!?!

public int contagemErosao(BufferedImage img){
         
        for (int i=0; i<50; i++){
        RenderedImage imagemRes = erode(img);
        Graphics2D g2d = img.createGraphics();
        g2d.drawImage(img, null, null);
        g2d.dispose();
        imgpanel.set(imagemRes); 
        System.out.println("-----Final----" );
        i++;
        return i;
    }      
}

O problema que dá aki é que fica aparecendo a seguinte mensagem:

missing Return Statement

Valews…

6 Respostas

E

Cara, tenta colocar o retorno da variável “i” fora do loop for. :wink:

public int contagemErosao(BufferedImage img) { for (int i=0; i<50; i++){ RenderedImage imagemRes = erode(img); Graphics2D g2d = img.createGraphics(); g2d.drawImage(img, null, null); g2d.dispose(); imgpanel.set(imagemRes); System.out.println("-----Final----" ); i++; } return i; }

Reilander

para fazer isso, eh preciso declarar o a variavel i fora do laco for

GustavoLaguna

Hum… essa foi interessante, apesar de declarar a variavel dentro do for o compilador não verifica que o for será executado de qualquer maneira, atingindo assim o return?

Reilander

na mosca!

GustavoLaguna

Apesar que o compilador acabou ajudando né, porque ter um for para rodar apenas uma vez seria estranho =)

VinnyJ

Problema resolvido…
Eu tirei o i de dentro do for e resolveu este problema…
Mas como tinha ficado meio ambiguo, eu declarei uma variável x pra que minha função retornasse.

Valews…

Criado 23 de abril de 2008
Ultima resposta 23 de abr. de 2008
Respostas 6
Participantes 4