"Missing return statement"

Então gente, to tentando fazer um código para determinar se um numero é primo, no entanto, está dando o erro que pede o return.
Não sei o que botar no return ou o que mudar no código, me ajudem por favorrrr!

[code]public class Exercicio3 {
public static void main (String[] args){
System.out.println(ehPrimo(10));
}

            public static boolean ehPrimo(int numero){
                    if (numero/2==1){
                    return true;
                    }

                    int limite = (int) Math.sqrt(numero);

                    for (int i = 3; i<limite; i+=2){
                            if (numero % i == 0) {
                            return false;
                            }
                    }
            }

}[/code]

Se, por exemplo, invocares o teu método passando 5, o que é que ele vai devolver?

Não consigo nem executar o método, ele da erro de compilação.

Eu sei. Eu estou a dizer para fazeres um teste de mesa. Simular a execução passo a passo, ver o que é que aconteceria.

Tens razão… está errado…

Mas de que maneira posso resolver isso no método?

1 regra: você tem que ter pelo menos 1 dos returns fora de fors/ifs/whiles etc…
2 regra: você pode usar 1 return dentro do if e outro dentro do else.

o que você pode fazer…

coloque um return false bem aqui:

[code]public static boolean ehPrimo(int numero){
if (numero/2==1){
return true;
}

                    int limite = (int) Math.sqrt(numero);   

                    for (int i = 3; i<limite; i+=2){   
                            if (numero % i == 0) {   
                            return false;   
                            }   
                    }   

//aqui -> return false;
} [/code]

ja te adianto que há melhores maneiras de resolver o problema de numeros primos, depois de uma pesquisada…

No comentário deve ser return true

Esse método (divisões sucessivas até a raiz quadrada do número) não é tão ruinzinho assim quanto parece - há alguns métodos que só são melhores se você:

a) Já tiver uma tabela grande de primos, ou

b) Quiser calcular uma tabela grande de primos.

Se for necessário calcular uma tabela grande de primos, achar se cada número é primo é muito lento; melhor usar um método de peneira (crivo).

Tentei mudar do jeito que vocês falaram mas ainda continua dando errado… não sei mais o que fazer.

Se eu botar return true no final, tudo dara true; se eu botar return false tudo dará falso.

Acabo de conseguir, ficou assim o código:

[code]//ver se um numero é primo
public class Exercicio3 {
public static void main (String[] args){
System.out.println(ehPrimo(25));
}

           public static boolean ehPrimo(int numero){
           		if (numero == 0 || numero == 1){
           			return false;
           		}else {
           			for (int i =2; i<numero; i++){
           				if(numero%i == 0){
           				return false;
           				}
           			}
           		}
           		return true;
           }

}[/code]

Obrigado a todos que ajudaram!