我有一個簡單的java方法,它根據從RGB轉換而來的HSB值返回顏色。它工作(需要一些調整),但我使用一系列的其他if和if嵌套語句來返回我想要的數據。我聽說HashMaps和字符串工廠比較好,但是我看不到這些工具如何處理遠程數據。是否有更好的解決方案可以處理像這樣的範圍數據?如果使用範圍數據,比其他解決方案更好的解決方案
段:
public static String getColorName() {
getHSB(rgb);
if(hsbH >= 45 && hsbH < 75) {
if(hsbS > 0 && hsbS < 45 && hsbB > 70){
return "White/Off White";
} else if(hsbS > 0 && hsbS < 45 && hsbB < 10) {
return "Dark Yellow";
} else {
return "Yellow";
}
} else if(hsbH >= 15 && hsbH < 45) {
if(hsbS > 0 && hsbS < 45 && hsbB > 70){
return "White/Off White";
} else if(hsbS > 0 && hsbS < 45 && hsbB < 10) {
return "Dark Orange";
} else {
return "Orange";
}
...
相反爲什麼不在'ColorRule'中添加'name'?然後,在應用程序的開始處,顏色規則將在一些已知的顏色列表中創建和定義,並且您只需在列表中查找一個顏色即可查找所有顏色。 –
@Stefan你說得對,那會更好。 –