Dúvida de Java

Boa noite pessoal,

é o seguinte, estou a fazer um programa em Java que me calcula o número de números primos até um certo número n (definido pelo utilizador).

Para isso, comecei por criar um método booleano onde ele testa se o número é primo ou não. O meu problema agora está no método principal, que necessito de chamar o boolean no método anterior para incrementar na contagem de números primos.

Mais simples: Como posso chamar o boolean do método anterior:

If (boolean=true)
contador=contador+1

É isto que quero fazer, mas não funciona, diz que precisa de uma variável.
 
If (boolean=true)

Nao podes fazer isto! podes é criar uma variavel do tipo boolean e dps verificar se tem valor true or false

if (variavel == true) ou somente if(variavel)
 
Assumindo que o método que testa se um número é primo tem a seguinte assinatura:

Código:
boolean isPrime(int n);

Podes fazer algo deste género:

Código:
if (isPrime(20))
{
    var++;
}
 
terás que ter qualquer coisa deste genero:

penso que o isPrime(int x) em que o parametro é o numero a verificar, certo? de qualquer modo vou omitir na tentativa de explicação ;)

if(isPrime()){this.counter++;}else{}

em Java tens duas maneiras de chamares uma função que retorna um boolean:
1. if(isPrime() == true) ...
2.if(isPrime()) ...
Ambas verificam se o if é true. De maneira analoga para ver se é false:
1. if(isPrime() == false) ...
2. if(!isPrime())...

nao percebi bem o contador ou se é nisto que tens duvidas, mas espero ter ajudado ;).

Cumps :P
 
if(ePrimo(4))
{
count++;
}

Basta colocares o método dentro do if, como o método vai retornar um boolean. Neste caso ePrimo(4) retorna false
Logo if(false) não entra no if.
 
Para ser mais legivel

if (ePrimo(4) == true)
{
++count;
}

else if (ePrimo(4) == false)
{
//wtf
}


if (ePrimo(4)) é o mesmo que ter if (ePrimo(4) == true)
if (!(ePrimo(4))) é o mesmo que ter if(ePrimo(4) == false)
 
nao sei se o Java funciona como em C, que podes ter pré-incrementos e pós-incrementos :confused:.

if (ePrimo(4) == true)
{
++count;
}

Penso que apenas se pode fazer count++. Se estiver enganado peço desculpa e ja aprendi algo novo ;D. Se calhar tou a fazer confusão :p

Cumprimentos ;).
 
Nesse caso, teres count++ ou ++count tem o mesmo efeito. Penso que já deu para ele perceber a ideia e acho que não é necessário colocar mais sugestões iguais.
 
Back
Topo