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!
Se, por exemplo, invocares o teu método passando 5, o que é que ele vai devolver?
L
luisvtb
Não consigo nem executar o método, ele da erro de compilação.
pmlm
Eu sei. Eu estou a dizer para fazeres um teste de mesa. Simular a execução passo a passo, ver o que é que aconteceria.
L
luisvtb
Tens razão… está errado…
Mas de que maneira posso resolver isso no método?
douglaskd
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.
ja te adianto que há melhores maneiras de resolver o problema de numeros primos, depois de uma pesquisada...
pmlm
No comentário deve ser return true
E
entanglement
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).
L
luisvtb
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.
L
luisvtb
Acabo de conseguir, ficou assim o código:
//ver se um numero é primopublicclassExercicio3{publicstaticvoidmain(String[]args){System.out.println(ehPrimo(25));}publicstaticbooleanehPrimo(intnumero){if(numero==0||numero==1){returnfalse;}else{for(inti=2;i<numero;i++){if(numero%i==0){returnfalse;}}}returntrue;}}