Signo

Bom, estou tentando criar um método em uma classe DATA para verificar o signo. O método tem que retornar uma String com o signo apartir do inteiro referente a data e o mês da classe… O que acontece hé que to muito verde ainda em programação e se alguém tiver uma dica p/ ajuda no exercício… fico grato :lol:

Abaixo, mais ou menos o que deve fazer…:

public static boolean Signo(int Dia, int Mes){

     if (Mes==1 &&  Dia>20 && Mes==2 && Dia<19)
          return aquarios;
     else
          
     if (Mes==2 && Dia>18 || Mes==3 && Dia<20)
          return = peixes;
     else
     if (Mes==3 && Dia>19 || Mes==4 && Dia<21)
          return = áries;
     else
     if (Mes==4 && Dia>20 || Mes==5 && Dia<21)
          return = Touro;
     else
     if (Mes==5 && Dia>20 || Mes==6 && Dia<21)
          return = gêmios;
     else
     if (Mes==6 && Dia>20 || Mes==7 && Dia<22)
          return = cancêr;
     else
     if (Mes==7 && Dia>21 || Mes==8 && Dia<23)
          return = leão;
     else
     if (Mes==8 && Dia>22 || Mes==9 && Dia<23)
          return = virgem;
     else
     if (Mes==9 && Dia>22 || Mes==10 && Dia<23)
          return = libra;
     else
     if (Mes==10 && Dia>22 || Mes==11 && Dia<22)
          return = escorpião;
     else
     if (Mes==11 && Dia>21 || Mes==12 && Dia<22)
          return = sagitario;
     else
     if (Mes==12 && Dia>21 || Mes==1 && Dia<22)
          return = capricornio;
          
        }
    }

começamos pelo seguinte: vc definiu um método dessa forma:

public static boolean Signo(int Dia, int Mes)

Isso significa que

  • a visibilidade desse método é publica
  • é um método estático, ou seja, pertence à classe
  • o tipo de retorno é boolean, ou seja, só pode retornar true ou false

e recebe dois parâmetros, dia e mes, ambos inteiros.

if (Mes==1 && Dia>20 && Mes==2 && Dia<19) return aquarios; else

Começamos pelo seguinte: o que é ‘aquarios’ ? O compilador não entende isso. Seria interessante que vc estudasse uma forma de representar cada signo do zodiaco.

Sugestão: estude uma coisa chamada enumerações.

Agora vejamos essa condição:

Mes==1 && Dia>20 && Mes==2 && Dia<19

Faria mais sentido algo assim:

(Mes==1 && Dia>20) || ( Mes==2 && Dia<19)

Por agora são estas as dicas, de mais uma estudada que a coisa ‘sai’. Sugestão: faça um metodo que, dada uma determinada Data, veja se é de um signo específico ou não, ex: gemeos.

[]´s Tiago

ali no return bote por exemplo se for aquario

return "aquario";

no mais axo q nosso colega peczenyj jah mencionou tudo o necessario para funcionar direitinho

Certo, vo verificar… to verde no assunto… :thumbdown: :smiley:

e em vez de boolean retornar String

Não seria melhor usar o Calendar?
porque ai vc pode passar a data (Date) e acredito que o código ficará mais bonito!

E é bem simples!

Bons estudos!

//foi mal… depois que eu vi a DATA!-rsssss