Então, tenho um aplicativo para Android onde eu preciso pegar uma String e compará-la, se for do tipo x eu pego uma determinada Array de String e mando a um método que irá exibir uma determinada String daquela Array.
Para se ter uma melhor compreensão, aqui está um similar em Java:
[code]package paz;
import java.util.Random;
public class Cliente{
String[] a = {“Alpha”,“Ab comae”};
String[] b = {“Beta”,“Bolshevik”};
String[] c = {“C++”,“C”};
public Cliente(String v){
getOne(v);
}
public void getOne(String tipo){
if(tipo.equals("A")){
printAny(a);
}
if(tipo.equals("B")){
printAny(b);
}
if(tipo.equals("C")){
printAny(c);
}
}
public void printAny(String[] d){
Random r = new Random();
System.out.println(d[r.nextInt(d.length)]);
}
public static void main(String e[]){
new Cliente("A");
}
}
[/code]
O problema é: eu preciso trabalhar com várias Arrays, e isso está gerando um código grande demais no que seria o método getOne() acima. Enquanto eu posso fazer o seguinte:
[code]package paz;
import java.util.Random;
public class Cliente{
String[] a = {“Amizade”,“Amor”,“Raiva”};
String[] b = {“Meu amigo”,“Meu amor”,“Morre”};
public Cliente(String v){
getOne(v);
}
public void getOne(String tipo){
for(int i = 0;i<a.length;i++){
if(tipo.equals(a[i])){
System.out.println(b[i]);
break;
}
}
}
public static void main(String e[]){
new Cliente("A");
}
}
[/code]
Para minimizar o código, usando um loop for para percorrer uma Array de String e comparar cada uma das Strings nela e depois, se for igual ao argumento do método, imprimir uma String de uma outra Array, eu não encontrei ainda um modo de usar um loop for para fazer o mesmo no primeiro código
Enfim, não sei se consegui me expressar bem (não sou muito bom de nomenclaturas), mas o que eu quero fazer é minimizar o primeiro código, deixar ele mais “bonito”.