Autor Tema: Java. Ejercicio arrays multidimensionales código resuelto declaración CU00905C#  (Leído 2094 veces)

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Buenas.

Aquí dejo otra posible solución al ejercicio del tema CU00905C del tutorial de programación orientada a objetos avanzada.

Citar
EJERCICIO

Crea un programa que pida por pantalla cuatro países y a continuación tres ciudades de cada uno de estos países. Los nombres de ciudades deben almacenarse en un array multidimensional cuyo primer índice sea el número asignado a cada país y el segundo índice el número asignado a cada ciudad.

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

public class Ejercicio {

public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
String[][] paises = new String[4][4];

for(int i = 0, j = 0; i < paises.length; i++) {
System.out.print("Introduzca un país: ");
paises[i][j] = entrada.nextLine();
for(j = 1; j < paises[i].length; j++) {
System.out.print("Introduzca ciudad [" + j + "]: ");
paises[i][j] = entrada.nextLine();
}
j = 0;
}
entrada.close();
for(int i = 0, j = 0; i < paises.length; i++) {
System.out.print("Las ciudades de " + paises[i][j] + " introducidas son: ");
for(j = 1; j < paises[i].length; j++) {
if(j == (paises[i].length-1)) {
System.out.print(" y " + paises[i][j] + ".");
} else if(j == (paises[i].length-2)){
System.out.print( paises[i][j]);
} else {
System.out.print( paises[i][j] + ", ");
}
}
j = 0;
System.out.println();
}
}

}

Saludos. ;D
« Última modificación: 14 de Abril 2017, 19:44 por Ogramar »

ESOJ

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 143
    • Ver Perfil
Re:Java. Ejercicio arrays multidimensionales. CU00905C
« Respuesta #1 en: 14 de Diciembre 2016, 07:51 »
Buenos días.

Otra forma de hacerlo podría ser :
Código: [Seleccionar]
import java.util.Scanner;
public class Paises {

    public static void main(String args []) {
        String [][] arrMulti =new String[4][4];
        String ax="";
        Scanner ingresoTeclado = new Scanner(System.in);

        for (int i=0;i<4;i++){
            System.out.print("Introduce el nombre del pais "+(i+1)+" : ");
            arrMulti[i][0] = ingresoTeclado.nextLine()+":";         
        }
        for (int j=0;j<4;j++){
            for (int i=1;i<4;i++){
                System.out.print("Introduce el nombre de la ciudad "+(i)+" del pais "+(j+1)+" : ");
                arrMulti[j][i] = ingresoTeclado.nextLine();             
            }
        }
        for(int i=0; i<4; i++){
            for(int j=0; j<4; j++){
                ax+= arrMulti[i][j]+"        ";
            }
            ax+="\n";
        }
        System.out.print(ax);
    }
}   
Un saludo

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2640
    • 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 »

 

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".