Concatenação por ordem de importância
Exemplo de classificação de silos por importância de peso extraído e envio de no máximo 2 ocorrências.
double silo1 = Str.ToDouble(_str1);
double silo2 = Str.ToDouble(_str2);
double silo3 = Str.ToDouble(_str3);
double silo4 = Str.ToDouble(_str4);
// Criamos uma lista com os pesos extraídos dos silos e os classificamos do menos para o mais importante
double poids[] = {silo1,silo2,silo3,silo4};
Arrays.sort(poids);
// Criamos um Hashmap onde o peso é associado ao silo correspondente
HashMap<Double,String> hm = new HashMap<Double,String>();
hm.put(silo1,"SILO1");
hm.put(silo2,"SILO2");
hm.put(silo3,"SILO3");
hm.put(silo4,"SILO4");
// Se o peso do segundo silo mais importante for inferior a 5T, negligenciamos e retornamos apenas o silo mais importante
if(poids[2] < 5) return hm.get(poids[3]);
// caso contrário, enviamos os dois mais importantes
return (hm.get(poids[3])+"|"+hm.get(poids[2]));