Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class T2Ejercicio15 {
- // Pido la fecha de nacimiento al usuario y devuelvo la suma
- public static int pedirNumeros() {
- int dia=0, mes=0, anio=0, resultado;
- try {
- Scanner teclado = new Scanner (System.in);
- System.out.println("Numero dia nacimiento");
- dia=teclado.nextInt();
- System.out.println("Numero mes nacimiento");
- mes=teclado.nextInt();
- System.out.println("Numero año nacimiento");
- anio=teclado.nextInt();
- } catch (Exception e) {
- System.out.println("Error: ha escrito la fecha incorrectamente. Escriba numeros enteros.");
- System.exit(1);
- }
- resultado=dia+mes+anio;
- return resultado; // 11+02+1973=1986 o 01+01+702=11
- }
- // Separo los digitos
- public static int separaDigitos(int numero) {
- int unidades, decenas, centenas, millares;
- // En esta función vamos a poder sacar desde unidades hasta millares, dependiendo del caso del número
- if (numero > 9 && numero < 100) { // De tener dos cifras, sacamos unidades y decenas
- unidades=numero%10;
- decenas=(numero/10)%10;
- return unidades+decenas;
- } else if (numero > 99 && numero < 1000 ) { // De tener tres cifras, hasta centenas
- unidades=numero%10;
- decenas=(numero/10)%10;
- centenas=(numero/100)%10;
- return unidades+decenas+centenas;
- } else if (numero > 999 && numero < 10000) { // De tener cuatro cifras, hasta millares
- unidades=numero%10;
- decenas=(numero/10)%10;
- centenas=(numero/100)%10;
- millares=numero/1000;
- return unidades+decenas+centenas+millares;
- } else {
- return numero; // Por descarte, el número solo tendrá una cifra de no entrar en estos márgenes
- }
- }
- public static void main (String args[]) {
- int sumaFecha, sumaDigitos, sumaFinal;
- // Pido la fecha y la recibo sumada (por ejemplo: 11+02+1973=1986)
- sumaFecha=pedirNumeros();
- // Saco unidades, decenas, centenas, millares de esa fecha y los sumo (1+9+8+6=24)
- sumaDigitos=separaDigitos(sumaFecha);
- // Vuelvo a sacar unidades, decenas, centenas, millares... de lo sumado (por ejemplo: 2+4). De no tener que sumar nada, lo devolvería tal cual.
- sumaFinal=separaDigitos(sumaDigitos);
- // Resultado
- System.out.println(sumaFinal);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement