Pregunta: | 58848 - INDICES DE UN ARREGLO EN JAVA |
Autor: | Yadira Gómez |
Hola!!!
Tengo una duda, estoy trabajando en un generador para numeros peseudoaleatorios, en el cual introduces dos numeros con una cantidad de digitos mayor a 3, después los multiplica y te da un resultado x, ese resultado x lo guarda en mi arreglo; para general el numero pseudoaleatorio solo toma los numeros de enmedio de la cifra, pero si la cantidad de dígitos del producto guardado es impar, tengo que agregar un cero a la izquierda para que sea par y pueda sacar el numero de cuatro dígitos de enmedio. El caso es que yo lntenté ponerle esto: resultado[-1]=0 pero java me manda una excepcion que no se como manejar, si me pudieran ayudar por favor o decirme como puedo agregar ese cero a la izquierda de mi arreglo se los agradecería mucho, de antemano, gracias y espero sus respuestas. |
Respuesta: | Leo Lobeto |
En Java solo puedes acceder a las posiciones de un arreglo comprendidas entre 0 y n-1 (ambos incluidos) suponiendo que n es el tamaño del arreglo.
tienes dos alternativas para agregar un elemento al principio del arreglo. Una forma es usar siempre el arreglo desde la posición 1 y dejar reservada la posición 0 para los casos en los cuales la cantidad de dígitos sea impar. Podrías usar una variable que te indique cual es la posición base del arreglo: int base = 1; ... y cambiarla a 0 cuando necesitas agregar un valor al inicio. Otra forma sería crear un método que te construya un arreglo nuevo más grande que el anterior colocando el dígito que le pases en primera posición. Algo así (no estoy seguro si compila): public int[] agregarAlInicio(int[] arreglo, int digito) { int[] ret = new int[arreglo.length+1]; System.arraycopy(arreglo, 0, ret, 1, arreglo.length); ret[0] = digito; return ret; } |