Ejemplo: si ingreso el número 9 y 22, que sume los números impares entre el 9 y 22 pero que también sume el 9 y 22.
9,10,11,12,13,14,15,16,17,18,19,20,21,22 = 127
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.
System.out.println() --> imprime el texto en la consola y el cursor permanece al comienzo de la siguiente línea 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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
% --> el operador de modulo ( % ) devuelve el resto de la división.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Explicación del Código:
Este programa solicita dos números al usuario. Luego busca todos los números impares que existen entre ellos (sin incluir los extremos), los suma y finalmente añade también el primer y el segundo número para mostrar la suma total.
Funcionamiento general
- Solicita dos números.
- Comienza a recorrer los números que están entre ellos.
- Verifica cuáles son impares.
- Suma únicamente los números impares encontrados.
- Al final suma también el primer número y el segundo número.
- Muestra el resultado total.
Explicación sencilla de cada parte del código
| Código | Explicación |
|---|---|
Scanner sc = new Scanner(System.in); |
Crea el objeto que permite leer datos escritos por el usuario desde el teclado. |
System.out.print("Ingrese un número: "); |
Muestra un mensaje para pedir el primer número. |
int num1 = sc.nextInt(); |
Guarda el primer número ingresado. |
System.out.print("Ingrese un número: "); |
Solicita el segundo número. |
int num2 = sc.nextInt(); |
Guarda el segundo número. |
int sumImpar = 0; |
Variable donde se irá acumulando la suma de los números impares. |
int n1 = num1 + 1; |
Empieza el recorrido desde el número siguiente al primero para no incluirlo inicialmente. |
int n2 = num2 - 1; |
El recorrido terminará antes del segundo número para no incluirlo durante la búsqueda. |
while(n1 <= n2) |
Recorre todos los números que existen entre ambos valores. |
if(n1 % 2 != 0) |
Comprueba si el número actual es impar. Si el residuo al dividir entre 2 es diferente de cero, entonces es impar. |
sumImpar += n1; |
Si el número es impar, lo suma al acumulador. |
n1++; |
Pasa al siguiente número del rango. |
System.out.println(sumImpar + num1 + num2); |
Muestra la suma de todos los impares encontrados más el primer y el segundo número. |
Ejemplo de ejecución
Ingrese un número: 15
Números impares entre ellos:
7 + 9 + 11 + 13 = 40
Se suma además:
5 + 15 = 20
Resultado final:
40 + 20 = 60
¿Cómo trabaja el ciclo?
| Valor de n1 | ¿Es impar? | Suma acumulada |
|---|---|---|
| 6 | No | 0 |
| 7 | Sí | 7 |
| 8 | No | 7 |
| 9 | Sí | 16 |
| 10 | No | 16 |
| 11 | Sí | 27 |
| 12 | No | 27 |
| 13 | Sí | 40 |
| 14 | No | 40 |
No hay comentarios.:
Publicar un comentario