miércoles, 8 de julio de 2026

Generar la siguiente serie 1,2,4,5,7,8,10,11,13,... en Java

Código del ejercicio:

package ejercicio;

import java.util.Scanner;

public class Ejercicio {

    public static void main(String[] args) {
        int w = 1, c = 1, sw = 1, x;
        Scanner sc = new Scanner(System.in);
        System.out.print("Ingrese un número: ");
        x = sc.nextInt();
        while(c <= x){
            System.out.print(w + ",");
            if(sw == 1){
                w++;
                sw = 2;
            }else{
                w += 2;
                sw = 1;
            }
            c++;
        }
    }

}

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 menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+ --> el operador ( + ) concatena variables de cadena.
+= --> 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 al usuario la cantidad de números que desea mostrar y genera la serie: 1, 2, 4, 5, 7, 8, 10, 11, 13.... La lógica consiste en alternar entre sumar 1 y luego sumar 2, evitando así los múltiplos de 3.

Explicación del código

Código Función
int w = 1, c = 1, sw = 1, x; Se declaran las variables del programa.
  • w: almacena el número que se imprimirá.
  • c: contador de elementos mostrados.
  • sw: interruptor que alterna las sumas de 1 y 2.
  • x: cantidad de números que el usuario desea generar.
Scanner sc = new Scanner(System.in); Crea el objeto que permite leer datos ingresados por el usuario.
System.out.print("Ingrese un número: "); Solicita la cantidad de números de la serie.
x = sc.nextInt(); Guarda el número ingresado por el usuario.
while(c <= x) Repite el proceso hasta imprimir la cantidad de términos solicitados.
System.out.print(w + ","); Muestra el número actual de la serie.
if(sw == 1){
    w++;
    sw = 2;
}
Si el interruptor vale 1:
  • Se suma 1 al número actual.
  • Luego cambia el interruptor a 2.
else{
    w += 2;
    sw = 1;
}
Si el interruptor vale 2:
  • Se suma 2 al número actual.
  • Después vuelve a cambiar el interruptor a 1.
c++; Aumenta el contador para controlar cuántos números se han generado.

¿Cómo funciona la serie?

El programa alterna dos incrementos:

  • Primero suma 1.
  • Después suma 2.
  • Luego vuelve a sumar 1.
  • Después suma 2.

Este patrón produce la siguiente secuencia:

1
+1 = 2
+2 = 4
+1 = 5
+2 = 7
+1 = 8
+2 = 10
+1 = 11
+2 = 13
...
Resumen:

El programa utiliza una variable llamada sw como interruptor para alternar entre sumar 1 y sumar 2. Gracias a esta lógica, genera correctamente la serie 1, 2, 4, 5, 7, 8, 10, 11, 13... hasta completar la cantidad de términos indicada por el usuario.

No hay comentarios.:

Publicar un comentario

Mostrar los x primeros números de la siguiente serie: 2,3,6,7,14,15,30,31,62,63,... en Java

Código del ejercicio: package ejercicio; import java.util.Scanner; public class Ejercicio {     public static void main...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️