SHARE
TWEET

Untitled

a guest Dec 8th, 2019 75 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.Scanner;
  2. public class T2Ejercicio15 {
  3.     // Pido la fecha de nacimiento al usuario y devuelvo la suma
  4.     public static int pedirNumeros() {
  5.         int dia=0, mes=0, anio=0, resultado;
  6.  
  7.         try {
  8.         Scanner teclado = new Scanner (System.in);
  9.         System.out.println("Numero dia nacimiento");
  10.         dia=teclado.nextInt();
  11.  
  12.         System.out.println("Numero mes nacimiento");
  13.         mes=teclado.nextInt();
  14.  
  15.         System.out.println("Numero año nacimiento");
  16.         anio=teclado.nextInt();
  17.         } catch (Exception e) {
  18.             System.out.println("Error: ha escrito la fecha incorrectamente. Escriba numeros enteros.");
  19.             System.exit(1);
  20.         }
  21.         resultado=dia+mes+anio;
  22.         return resultado; // 11+02+1973=1986 o 01+01+702=11
  23.     }
  24.  
  25.     // Separo los digitos
  26.     public static int separaDigitos(int numero) {
  27.         int unidades, decenas, centenas, millares;
  28.         // En esta función vamos a poder sacar desde unidades hasta millares, dependiendo del caso del número
  29.         if (numero > 9 && numero < 100) { // De tener dos cifras, sacamos unidades y decenas
  30.             unidades=numero%10;
  31.             decenas=(numero/10)%10;
  32.             return unidades+decenas;
  33.  
  34.         } else if (numero > 99 && numero < 1000 ) { // De tener tres cifras, hasta centenas
  35.             unidades=numero%10;
  36.             decenas=(numero/10)%10;
  37.             centenas=(numero/100)%10;
  38.             return unidades+decenas+centenas;
  39.  
  40.         } else if (numero > 999 && numero < 10000) { // De tener cuatro cifras, hasta millares
  41.             unidades=numero%10;
  42.             decenas=(numero/10)%10;
  43.             centenas=(numero/100)%10;
  44.             millares=numero/1000;
  45.             return unidades+decenas+centenas+millares;
  46.         } else {
  47.             return numero; // Por descarte, el número solo tendrá una cifra de no entrar en estos márgenes
  48.         }
  49.  
  50.     }
  51.  
  52.     public static void main (String args[]) {
  53.         int sumaFecha, sumaDigitos, sumaFinal;
  54.  
  55.         // Pido la fecha y la recibo sumada (por ejemplo: 11+02+1973=1986)
  56.         sumaFecha=pedirNumeros();
  57.  
  58.         // Saco unidades, decenas, centenas, millares de esa fecha y los sumo (1+9+8+6=24)
  59.         sumaDigitos=separaDigitos(sumaFecha);
  60.  
  61.         // 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.
  62.         sumaFinal=separaDigitos(sumaDigitos);
  63.  
  64.         // Resultado
  65.         System.out.println(sumaFinal);
  66.  
  67.     }
  68. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top