definir una variable

daenerys
18 de Abril del 2006
Cómo tengo que definir una variable en el siguiente caso?: quiero definir un vector (o array, no sé qué es mejor) de tamaño 24 en el que cada uno de los elementos es, a su vez, un vector de longitud indeterminada. Sé que en C sólo tendría que definir el tipo del elemento, pero en Java no sé como hacerlo y no he encontrado ningún ejemplo similar. Muchas gracias y un saludo

Alex
18 de Abril del 2006
creo que lo ke kieres hacer es una tabla de tatos de 24 en vertical y de un numero indefinido en horizontal.
weno ... pues creo ke lo mejor seria usar vectores por dos razones: una, porque solucionas la dimension indefinida en horizontal, y dos, porque, aunque en vertical sólo necesitas 24 elemntos, cada uno de esos 24 elementos resulta ser un objeto vector .. y si son objetos, creo que podrias guardar cada objeto vector horizontal en 1 solo vector vertical, ya que los vectores piden objetos y no se les puede introducir directamente un numero.
... la verdad es que eso no lo he probado nunca ... en fin ... que tengas suerte ...

triki
18 de Abril del 2006
Si quieres sumar los elementos del vector, lo mejor es que hagas un cast a Integer y luego cojas el valor numérico con algún método como toInteger para cada elemento, y luego ya puedes sumarlo. No estoy muy seguro, pero creo que esa sería la mejor forma... que alguien me corrija :)

daenerys
18 de Abril del 2006
Gracias por tu ayuda!! Mi problema ahora es que no conozco la dimensión de los vectores que forman los elementos del vector principal, cómo los defino entonces? Si además quiero sumar los elementos de ese vector, cómo los referencio? Creo que si se definen como Vector, tengo que utilizar el método elementAt(indice), pero no lo tengo claro... Gracias de nuevo

arya
18 de Abril del 2006
cual es el tipo de los elementos del vector de longitud indefinida?

daenerys
18 de Abril del 2006
Ah, perdón!! Son enteros... La cuestión sería algo así:
medias es un array[] de enteros
secuencia es un array[24] de medias
Mi problema es cómo tengo que definir "medias" para poder definir secuencia de ese modo. Gracias de nuevo

x
18 de Abril del 2006
hola si quieres manejar arrays simples de enteros puedes trabajar como en C++, algo asi:

int[][] array = new int[24][];
// a partir de aqui rellenas los arrays internos como gustes, ejemplo:
array[0] = new int[10];
array[1] = new int[20];
...
array[23] = new int[5];

quizá uses algun ciclo para inicializar los array, según como los uses.

Otra opción es usar la clase Vector, y almacenar uno de estos con arrays de ints como quieres:

Vector< int[] > vectorDeEnteros = new Vector< int[] >();
...
vectorDeEnteros.addElement( new int[10] ); // por ejemplo