Programa Java que muestre las cifras de un número entero con su nombre. El programa pide al usuario que introduzca un número entero positivo y muestra por pantalla el nombre de cada una de sus cifras del separadas por un guión.
Por ejemplo, si leemos el número N = 3506
el programa mostrará:
tres - cinco - cero - seis
Solución:
Para resolverlo nos basaremos en este ejercicio: mostrar las cifras de un número y por cada cifra del número mediante un switch mostraremos su nombre.
/*
Programa que pide por teclado un entero positivo y
lo mostrará cambiando cada cifra por su nombre.
Los nombres de las cifras aparecerán separados por un guión.
*/
import java.util.Scanner;
public class NombreCifrasNumero {
public static void main(String[] args) {
int num, i, aux, cont, cifra;
Scanner sc = new Scanner(System.in);
do {
System.out.print("Introduce numero entero positivo: ");
num = sc.nextInt();
if (num <= 0) {
System.out.println("Número no válido");
}
} while (num <= 0);
//guardamos el número en una variable auxiliar
//para calcular las cifras que tiene el número
aux = num;
cont = 0; //variable para contar las cifras del número
while (aux != 0) {
aux = aux / 10;
cont++;
}
//obtener cada una de las cifras comenzando por la izquierda
for (i = cont-1; i >= 0; i--) {
//obtenemos la cifra de la izquierda
cifra = num / (int) Math.pow(10, i);
//mostramos su nombre
switch (cifra) {
case 0:
System.out.print("cero ");
break;
case 1:
System.out.print("uno ");
break;
case 2:
System.out.print("dos ");
break;
case 3:
System.out.print("tres ");
break;
case 4:
System.out.print("cuatro ");
break;
case 5:
System.out.print("cinco ");
break;
case 6:
System.out.print("seis ");
break;
case 7:
System.out.print("siete ");
break;
case 8:
System.out.print("ocho ");
break;
case 9:
System.out.print("nueve ");
break;
}
if (i != 0) { //si no es la última cifra
System.out.print(" - ");
num = num % (int) Math.pow(10, i);
}
System.out.println();
}
System.out.println("Fin de programa");
}
}
No hay comentarios:
Publicar un comentario