Erro de Compilação (missing return statement)

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…

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; }

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

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?

na mosca!

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

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…