1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Dúvida de Java

Discussão em 'Programação' iniciada por SexPistolsPT, 23 de Outubro de 2008. (Respostas: 8; Visualizações: 1008)

  1. 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.
     
  2. nasic

    nasic Power Member

    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)
     
  3. O que eu quero dizer é "Se o boolean (do outro metodo)é verdadeiro, então incrementa o contador.

    Como faço isso?
     
  4. AliFromCairo

    AliFromCairo Power Member

    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++;
    }
    
     
  5. solidforms

    solidforms Power Member

    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
     
  6. prosaQue

    prosaQue Power Member

    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.
     
  7. OubeLa

    OubeLa Power Member

    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)
     
  8. solidforms

    solidforms Power Member

    nao sei se o Java funciona como em C, que podes ter pré-incrementos e pós-incrementos :confused:.

    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 ;).
     
  9. AliFromCairo

    AliFromCairo Power Member

    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.
     

Partilhar esta Página