Duplicar índices de un array en java

-

Hola, me he atascado con el siguiente ejercicio, a ver si alguien me puede ayudar, tengo que hacer un programa que declare 2 filas y 10 columnas y rellenar los índices con números aleatorios, una vez esté el array lleno de números, mostrar por pantalla el array con los índices duplicados, es decir, el programa tiene que hacer lo siguiente:

Este es mi código que no funciona (solo me funciona lo de rellenar el array con números aleatorios)

El programa tiene que mostrar por pantalla con un system out print el array original, y luego el array con los índices duplicados tal como muestra la imagen.

package ejercicios;

public class ejercicio {

public static void main(String[] args) {


	int[][] vector = new int [2][10];
	int duplicado = 0;

	System.out.print("VECTOR ORIGINADO CON RANDOM");

	for (int i = 0; i < vector.length ; i++) {
		System.out.println(" ");
		for (int j = 0; j < 10; j++) {

			int random = (int) (Math.random() * 10); 
			vector[i][j] = random;
			duplicado = (vector[i][j]*2);

			System.out.print(vector[i][j]);
			System.out.print( "//");
		}

	}
	System.out.println(" ");
	System.out.println("EL VECTOR DUPLICADO ES: " + duplicado);
}
}

cabron

la variable duplicado es un valor escalar, estás sobreescribiendo su valor constantemente en cada iteración del bucle, y al final solo te queda el último valor, no los estás guardando todos.

O bien te creas otro array y metes ahí los duplicados, o haces dos bucles y en el segundo iteras sobre el array con los valores aleatorios pero muestras su valor duplicado.

Y no uses la palabra índices para referirte a los valores del array, más que nada por que crea confusión (según lo he leído a la primera no he entendido que coño había que hacer), índice se usa para referirse a las posiciones del array, no a lo que contiene en esa posición.

1 1 respuesta
-

#2 Gracias por los consejos, luego probaré otra vez. Entonces qué palabra se usa para definir el contenido del array? elemento?

1 respuesta
W0rd

#3 Valor?, Contenido?

int[][] vector = new int [2][10];
int duplicado = 0;

Si duplicado va ser una array igual que el array vector pero con sus valores duplicado *2, porque no lo inicializas igual que el otro?

int[][] vector = new int [2][10];
int[][]  duplicado = new int [2][10];

Una vez metes el valor a vector:

vector[i][j] = random;

Duplicado quedaría similar:

duplicado[i][j] =  random*2;
1

Usuarios habituales

  • W0rd
  • -EXE-
  • cabron