Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: luisdn en 13 de Febrero 2017, 22:22

Título: Java arrays (arreglos) multidimensionales cómo hacer un uso eficiente CU00905C
Publicado por: luisdn en 13 de Febrero 2017, 22:22
Hola, dejo el código del siguiente ejercicio CU00905C del curso avanzado de Java:

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

Ejemplo de resultados que debe mostrar el programa:

País: Argentina                 Ciudades:        Buenos Aires       Cordoba         La Plata

País: España                     Ciudades:         Madrid                 Lugo              Sevilla

País: Francia                     Ciudades:         Paris                    Niza                Lyon

País: Italia                        Ciudades:          Roma                  Napoles         Sicilia


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

class Paises{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String[][] paises = new String[4][4];
        int i = 0;
       
        while(i < 4){
            System.out.println("Introduzca el nombre de un pais: ");
            paises[i][0] = sc.nextLine();
            i++;
        }
        for( i = 0 ; i < 4 ; i++){
            for(int j = 1 ; j < 4 ; j++){
                System.out.println("Introduzca una ciudad de "+paises[i][0]+" : ");
                paises[i][j] = sc.nextLine();
            }
        }
        for( i = 0 ; i < 4 ; i++){
            System.out.print("Pais "+paises[i][0]+" :   Ciudades: ");
            for(int j = 1 ; j < 4 ; j++){
                System.out.print(paises[i][j]+"         ");
            }
            System.out.println();
        }
    }
}
       

Muchas gracias
Título: Re:Java arrays (arreglos) multidimensionales cómo hacer un uso eficiente CU00905C
Publicado por: Ogramar en 14 de Abril 2017, 19:55
Buenas, el ejercicio cumple lo solicitado, pero te hago una observación

En ese array estás mezclando dos cosas: por un lado nombre de países y por otro lado nombres de ciudades de cada país.

¿Qué almacena el array? Realmente almacena dos conceptos diferentes. Esto no es demasiado deseable, porque tienes las cosas "mezcladas".

Puede ser preferible tener en un array los países y en otro las ciudades como en el ejercicio planteado en https://www.aprenderaprogramar.com/foros/index.php?topic=5769.0

No digo que siempre haya que hacerlo de una manera, siempre dependerá de cada caso, pero puede ser bueno pensar sobre qué es mejor.

Salu2