Ejercicio 3. Inverso

Escribe un programa que lea 10 números por teclado y que luego los muestre en orden inverso, es decir, el primero que se introduce es el último en mostrarse y viceversa.

Para la realización de este ejercicio vamos a crear un array que almacenará los diez valores que pediremos al usuario por teclado, para ello, crearemos el array numeros:

int[] numeros = new int[10];

Para asignarle los valores y pidiéndolo al usuario por pantalla, crearemos un bucle que recorra en orden ascendente el array:

for (int i = 0; i < 10; i++) {
System.out.print("Número "+(i+1)+": ");
numeros[i] = scanner.nextInt();
}

Una vez finalicemos este bucle, ya tendríamos todos los valores asignados para cada una de las posiciones de nuestro array, ya sólo nos quedaría que se muestre en orden inverso.

Para mostrarlo en orden inverso, debemos recorrer el array en orden descendente, es algo tan sencillo, como inicializar el contador del ciclo for en el valor máximo que tendrá i, y al final de cada ciclo, lo que normalmente utilizamos como incremento, en esta ocasión hará decrecer el valor de i.

for (int i = 9; i >= 0; i--) {
System.out.println("Numero " + (i+1)+": "+numeros[i]);
}

Como detalles a tener en cuenta en este ejercicio, podemos ver que en este último for, la condición incluye tanto > como =, se debe a que el 0 debe estar incluido, normalmente estamos utilizando el siguiente número, en el que ya no entra el bucle, y por eso sólo hemos puesto el símbolo >, podíamos haber puesto i > -1, pero al incluir el símbolo negativo, veo más visual utilizar esta otra expresión.

package arrays1dimension;

import java.util.Scanner;

/**
 *Ejercicio03
 *
 *	Escribe un programa que lea 10 números por teclado y que luego los
 *	muestre en orden inverso, es decir, el primero que se introduce es
 *	el último en mostrarse y viceversa.
 * 
 * VARIABLES
 * 	int i - contador para recorrer los ciclos.
 * 	int[] numero - array para almacenar los diez números introducidos por el usuario.
 * 
 * INICIO PROGRAMA 
 * 1.- Presentación del programa al usuario.
 * 2.- Introducción de los valores por el usuario en el array.
 * 3.- Impresión por pantalla recorriendo el array desde la última posición a la primera.

 * @author manuelhidalgo
 * @since 24-11-2019
 */

public class Arrays1Dimension03 {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int[] numeros = new int[10];
		
		System.out.println("El programa pedirá 10 números y después serán impresos en orden inverso:");
		
		for (int i =0;i<10;i++) {
			System.out.print("Número "+(i+1)+": ");
			numeros[i] = scanner.nextInt();
		}		
		System.out.println("Valores introducidos en orden inverso");
		for (int i=9; i>=0;i--) {
			System.out.println("Numero " + (i+1)+": "+numeros[i]);			
		}
	}
}

Puedes acceder a este ejercicio en GitHub en este enlace.

Espero que estos ejercicios de repaso de JAVA realizados durante el curso 2019/2020 en la clase de programación del I.E.S. Gran Capitán (Córdoba) puedan servirte si estás empezando, si tienes alguna duda al respecto, alguna sugerencia o algo que no te haya quedado claro, no tienes más que escribirme en los comentarios, estoy aquí para ayudarte y aprender, ¡Nos leemos!