Io avrei utilizzato una enum un po' più furba:
private enum Zodiaco {
ARIETE("marzo", 21, "aprile", 20),
TORO("aprile", 21, "maggio", 20),
GEMELLI("maggio", 21, "giugno", 21),
CANCRO("giugno", 22, "luglio", 22),
LEONE("luglio", 23, "agosto", 23),
VERGINE("agosto", 24, "settembre", 22)
... // Completare
;
private final String inizioMese;
private final String fineMese;
private final int giornoInizio;
private final int giornoFine;
Zodiaco(String inizioMese, int giornoInizio, String fineMese, int giornoFine) {
this.inizioMese = inizioMese;
this.giornoInizio = giornoInizio;
this.fineMese = fineMese;
this.giornoFine = giornoFine;
}
String inizioMese() { return inizioMese; }
String fineMese() { return fineMese; }
int giornoInizio() { return giornoInizio; }
int giornoFine() { return giornoFine; }
}
Poi, dopo aver acquisito i dati dall'utente, è sufficiente un banale ciclo for sui valori della enum per scovare il segno:
int giorno = ... // Il giorno inserito dall'utente
String mese = ... // Il mese inserito dall'utente
for(Zodiaco z : Zodiaco.values()) {
if ((z.inizioMese().equalsIgnoreCase(mese) && z.giornoInizio() <= giorno) ||
(z.fineMese().equalsIgnoreCase(mese) && z.giornoFine() >= giorno)) {
System.out.println("Il tuo segno zodiacale: " + z);
}
}
Ciao.