Ci sono molte cose che "odorano" di questo codice. Sembra solo imbarazzante e forzato. Avere una dichiarazione "switch" è una di quelle "qualcosa è probabilmente sbagliato qui intorno" cose a cui le persone puntano a meno che non sia chiaro che questa è la cosa giusta ... e lo switch String in Java solo mi sfrega ogni volta che vedo qualcuno provare a metterlo in uso.
Hai dati. Inserire i dati nel codice è una cosa "cattiva". I dati dovrebbero essere in qualche formato di dati. Che si tratti di un database o di un file di proprietà o di un altro sistema di archiviazione.
Consente di creare un file di proprietà per un esempio.
city.Pasadena.min=183
city.Pasadema.max=194
city.Charlotte.min=268
city.Charlotte.max=270
Quindi lo leggi con la classe Proprietà . Esistono altri approcci per la lettura da un database reale.
E lì, ora i tuoi dati sono separati dal codice.
Potresti quindi avere un piccolo oggetto che assomiglia a qualcosa:
class Range {
private int min;
private int max;
public boolean in(int value) {
return value <= max && value >= min;
}
}
E potresti estendere questo con la creazione di iteratori o intervalli disgiunti o Set<Integer> butNotIn
.