Problema com Array de Strings

0 respostas
War_Paz

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:

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");
	}
}

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:

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");
	}
}

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".

Criado 5 de novembro de 2012
Respostas 0
Participantes 1