Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Modificar variables en un for segun el índice

Hola,

tengo una duda que se que se puede hacer porque hace años lo usé pero no me acuerdo ni consigo encontrar info, ya que es difícil de describir para hacer una búsqueda en Google.

Lo que quiero es en un for, modificar una variable distinta en cada pasada, es decir, yo tengo por ejemplo 20 variables y quiero que en cada pasada del for se modifique una de ellas.

Por ejemplo tengo las 20 variables y quiero que se le sume uno a cada una.

int var1, var2, var3, ..., var20;
for( int i=1; i<=20; i++ ) {
varX+1;
}

Cómo puedo hacer dinámico ese varX para que la X sea el indice del for?


Muchas gracias.

enero 28, 2012 | Unregistered CommenterVicente

Puedes crear un array o una list con las variables, y realizar una iteración para asignar el valor que quieras a cada elemento.

enero 28, 2012 | Registered Commenterchoces

Con un vector se me ocurre asi

class Ejemplo{
public static void main(String []args){
int variables[] = new int[6];
int var1 = 1;
int var2 = 10;
int var3 = 13;
int var4 = 41;
int var5 = 6;
int var6 = 7;
variables[0] = var1;
variables[1] = var2;
variables[2] = var3;
variables[3] = var4;
variables[4] = var5;
variables[5] = var6;

for(int i = 0;i < variables.length;i++){
variables[i]++;
}

}
}

enero 28, 2012 | Unregistered Commenterresalpa84

Hola, gracias por las respuestas.

En realidad lo que yo necesito es lo que decía, no puedo usar un vector.

Mi idea es que esta asignación --> varX+1; <-- sea dinamica de forma que en cada paso por el for la X se sustituya por el índice. Yo hace mucho tiempo recuerdo de hacerlo y creo recordar que era algo parecido a esto:

var'\i'+1;

enero 29, 2012 | Unregistered CommenterVicente

No lo harías usando Java, porque los identificadores de variables en Java no son dinámicos.

enero 29, 2012 | Registered Commenterchoces

No puedes usar listas... ¿pero mapas? En un mapa puedes meter los objetos con una referencia y sacarlos "dinámicamente":

Map mapa = new HashMap();

mapa.put("var1", var1);
mapa.put("var2", var2);
mapa.put("var3", var3);
mapa.put("var4", var4);

for(int i=1; i<=4; i++ ) {
System.out.println(mapa.get("var" + i));
}

enero 29, 2012 | Registered CommenterUnai Valle

¿Como quedara como una variable enum?

enero 29, 2012 | Unregistered Commenterresalpa84

Necesitas un Map sí o sí, es la forma más fácil de hacerlo ;)

febrero 8, 2012 | Unregistered CommenterAlarde