Advertisement
TeRackSito

P2_Divisibilidad

Jan 15th, 2024
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.07 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. /**
  4.  * Programa que pide dos números y comprueba si el primero es divisible por el segundo.
  5.  *
  6.  * Pide por terminal dos números y comprueba si el primero es divisible por el segundo.
  7.  *
  8.  * Restricciones:
  9.  * - El programa debe controlar que los números introducidos sean enteros.
  10.  * - El programa debe controlar que el segundo número introducido sea mayor que 0.
  11.  * - El programa no debe hacer uso de la función módulo (%).
  12.  *
  13.  * Entrada:
  14.  * - Dos números enteros.
  15.  *
  16.  * Salida:
  17.  * - Muestra por pantalla si el primer número es divisible por el segundo.
  18.  *
  19.  * Ejemplo:
  20.  * Introduce un número: 10
  21.  * Introduce otro número: 5
  22.  * 10 es divisible por 5.
  23.  *
  24.  * Introduce un número: 10
  25.  * Introduce otro número: 3
  26.  * 10 no es divisible por 3.
  27.  *
  28.  * Explicación:
  29.  * El primer número es divisible por el segundo si al dividirlos el resto es 0.
  30.  *
  31.  * Consejo:
  32.  * Se puede utilizar un bucle para restar repetidamente el divisor
  33.  * del dividendo hasta que el dividendo sea menor que el divisor o igual a 0.
  34.  *
  35.  * Extra opcional:
  36.  * - El programa imprime por pantalla el resto de la división.
  37.  */
  38.  
  39. public class P2_Divisibilidad {
  40.  
  41.     static Scanner sc = new Scanner(System.in);
  42.     public static void main(String[] args) {
  43.         int dividendo = askNumber("Introduce el dividendo");
  44.         int divisor = askNumber("Introduce el divisor");
  45.  
  46.         int resto = dividendo;
  47.         while (resto >= divisor) {
  48.             resto -= divisor;
  49.         }
  50.  
  51.         if (resto == 0) {
  52.             System.out.printf("%d es divisible por %d", dividendo, divisor);
  53.         } else {
  54.             System.out.printf("%d no es divisible por %d, con resto %s", dividendo, divisor, resto);
  55.         }
  56.     }
  57.  
  58.     private static int askNumber(String message) {
  59.         System.out.printf("%s: ", message);
  60.  
  61.         try {
  62.             return Integer.parseInt(sc.nextLine());
  63.         } catch (NumberFormatException e) {
  64.             System.out.println("¡Debe ser un número entero!");
  65.             return askNumber(message);
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement