Código del ejercicio:
Definición de los códigos del ejercicio:
import java.util.Scanner; --> Importación explícita de Scanner.Scanner sc = new Scanner(System.in); --> objeto de Scanner con nombre sc.
Scanner --> clase Scanner nos permite ingresar datos por teclado.
new --> palabra reservada que instancia un objeto de la clase Scanner.
System.in --> parámetro que indica de donde proceden los datos, en este caso del teclado.
System.out.print() --> imprime el texto en la consola y el cursor permanece al final del texto en la consola.
int --> dato entero de 32 bits.
nextInt() --> lee un número entero desde consola (teclado).
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
/= --> el operador de asignación de división ( /= ) divide el valor del operando derecho de una variable y asigna el resultado a la variable.
+ --> el operador ( + ) concatena variables de cadena.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Este programa solicita un número entero al usuario y revisa cada uno de sus dígitos. Al finalizar, muestra cuántos de esos dígitos son divisibles entre 3.
Código
package ejercicio;
import java.util.Scanner;
public class Ejercicio {
public static void main(String[] args) {
int c = 0, n;
Scanner sc = new Scanner(System.in);
System.out.print("Ingrese un número: ");
n = sc.nextInt();
while(n > 0){
if((n % 10) % 3 == 0){
c++;
}
n /= 10;
}
System.out.println("La cantidad de dígitos divisible entre tres son: " + c);
}
}
Explicación paso a paso
1. Declaración de variables
int c = 0, n;
Se crean dos variables:
- c: almacena la cantidad de dígitos divisibles entre 3. Comienza en 0.
- n: guarda el número ingresado por el usuario.
2. Crear el objeto Scanner
Scanner sc = new Scanner(System.in);
Se crea un objeto Scanner para poder leer datos escritos desde el teclado.
3. Pedir el número
System.out.print("Ingrese un número: ");
n = sc.nextInt();
Se muestra un mensaje en pantalla y luego se guarda el número ingresado en la variable n.
4. Recorrer todos los dígitos
while(n > 0)
El ciclo while se ejecuta mientras el número sea mayor que cero. En cada repetición se analiza un solo dígito.
5. Obtener el último dígito
n % 10
El operador % obtiene el último dígito del número.
Ejemplo:
548 % 10 = 8
123 % 10 = 3
987 % 10 = 7
6. Verificar si el dígito es divisible entre 3
if((n % 10) % 3 == 0){
c++;
}
Primero se obtiene el último dígito con n % 10. Después se verifica si ese dígito dividido entre 3 deja residuo cero.
Si es divisible entre 3, el contador c aumenta en uno.
Ejemplo:
- 9 → divisible entre 3 ✔
- 6 → divisible entre 3 ✔
- 3 → divisible entre 3 ✔
- 0 → divisible entre 3 ✔
- 5 → no es divisible ✘
- 8 → no es divisible ✘
7. Eliminar el último dígito
n /= 10;
Esta instrucción elimina el último dígito del número para poder revisar el siguiente.
Ejemplo:
548 → 54
54 → 5
5 → 0
Cuando el número llega a 0, el ciclo termina.
8. Mostrar el resultado
System.out.println("La cantidad de dígitos divisible entre tres son: " + c);
Finalmente se imprime la cantidad de dígitos que son divisibles entre 3.
Ejemplo de ejecución
Ingrese un número: 93642
La cantidad de dígitos divisible entre tres son: 3
Explicación:
- 9 ✔ divisible entre 3
- 3 ✔ divisible entre 3
- 6 ✔ divisible entre 3
- 4 ✘ no es divisible
- 2 ✘ no es divisible
Por lo tanto, el programa muestra:
La cantidad de dígitos divisible entre tres son: 3
Resumen
El programa pide un número, analiza cada uno de sus dígitos comenzando por el último, verifica cuáles son divisibles entre 3 utilizando el operador módulo (%), cuenta esos dígitos y finalmente muestra el total encontrado.
No hay comentarios.:
Publicar un comentario