Autor Tema: Arreglos multidimensionales en Java ejercicios resueltos 2 dimensiones CU00905C  (Leído 3405 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Dejo mi solución propuesta para el ejercicio CU00905C del tutorial de programación Java avanzado de aprenderaprogramar

Código: [Seleccionar]
import java.util.Scanner;

public class ejercicioCU00905C {
public static void main(String[] args) {
String[][] paisCiudad = new String[4][4];
Scanner entradaTeclado = new Scanner(System.in);

for (int i = 0; i < paisCiudad.length; i++) {
System.out.print("Ingrese el nombre de un país: ");
for (int j = 1; j < paisCiudad[i].length; j++) {
if (j==1) {
paisCiudad[i][j-1] = entradaTeclado.nextLine();
}
System.out.print("Ingrese una ciudad de " + paisCiudad[i][0] +": ");
paisCiudad[i][j] = entradaTeclado.nextLine();
}
}

for (int i = 0; i < paisCiudad.length; i++) {
System.out.print("País: ");
for (int j = 0; j < paisCiudad[0].length; j++) {
if(j==0) {
System.out.print(paisCiudad[i][j] + " Ciudades: ");
}else {
System.out.print(paisCiudad[i][j] + " ");
}
}
System.out.println();
}
}
}
« Última modificación: 10 de Agosto 2020, 18:37 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas, para quien revise este ejercicio funciona correctamente. Hay una cuestión que no me parece del todo correcta, pero que también está relacionada con que habría que mejorar el enunciado para evitar que se haga así. Lo que no me parece correcto es almacenar en el mismo array como elemento [ i ][0] el nombre del país, por ejemplo Argentina, y que luego [ i ][1], [ i ][2], [ i ][3] sean ciudades de argentina. ¿Por qué? Porque lo más lógico es que todos los elementos de un array sean de la misma naturaleza, es decir, que sean o bien países, o bien ciudades, pero no algunos elementos de un tipo y otros de otro.
Esto podría solucionarse creando un array de países, como pais[0], pais[1], pais[2], pais[3] y luego el array de ciudades ciudad[0][0], ciudad[0][1], ciudad[0][2] tendría las tres ciudades del país cero.

En este caso declararíamos el array de pais por un lado y String[][] paisCiudad = new String[4][3]; teniendo la primera dimensión 4 elementos (cuatro países) y la segunda dimensión 3 elementos (3 ciudades para cada país).

Salu2
« Última modificación: 10 de Agosto 2020, 18:55 por Ogramar »

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Gracias x darte el tiempo de revisar mi respuesta, si me parece correcta la observación y creo que facilitaría el manejo del arreglo, y como lo mencionas lo que pretendí es cumplir lo requerido en el planteamiento del problema

saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".