Criar uma diferente variável a cada loop

1 resposta
P

Existe algum código que possibilite a criação de uma variável diferente em cada loop.

Por exemplo:
no loop 1 criar x1,
no loop 2 criar x2 sem alterar x1,
no loop 3 criar x3 sem alterar x1 e x2
e por assim vai…

Imagino algo relacionado a array, mas tem como ser mais direto :?:

System.out.println("Abraço!");

1 Resposta

davidbuzatto

Vc pode criar um array com o número de posições igual à quantidade de vezes que o loop será executado e então para cada posição do array, inserir o valor desejado.
Outra maneira seria vc criar um mapa (HashMap) e inserir um valor nele a cad vez que o loop seja executado. Essa segunda opção é melhor, pq vc não precisa saber a quantidade de posições que serão criadas, pois o mapoa cresce dinamicamente. Vc poderia usar uma lista tbm, pois uma lista mantém a ordem dos elementos inseridos.

Exemplos:

Array:
int[] dados = { 1, 2, 3, 4, 5, 6 };
int[] variaveis = new int[dados.length];

for ( int i = 0; i < dados.length; i++ ) {
    variaveis[i] = dados[i] * 2;
}

System.out.println( variaveis[0] );
Mapa:
int[] dados = { 1, 2, 3, 4, 5, 6 };
Map<String, Integer> variaveis = new HashMap<String, Integer>();

for ( int i = 0; i < dados.length; i++ ) {
    variaveis.put( "var" + i, dados[i] * 2 );
}

System.out.println( variaveis.get( "var0" ) );
Lista:
int[] dados = { 1, 2, 3, 4, 5, 6 };
List<Integer> variaveis = new ArrayList<Integer>();

// aqui vc não precisa saber o índice para inserção, 
// então fica mais simples usar um foreach
for ( int item : dados ) {
    variaveis.add( item * 2 );
}

System.out.println( variaveis.get( 0 ) );

[]´s

Criado 21 de novembro de 2010
Ultima resposta 21 de nov. de 2010
Respostas 1
Participantes 2