Programas en Java: Adivinar Número, Tablas de Multiplicar, Sumatoria, Raíz Cuadrada, Números Primos y Divisores

Clasificado en Informática

Escrito el en español con un tamaño de 7 KB

Programas en Java: ejercicios básicos con bucles y condicionales

A continuación se presenta una colección de programas en Java que resuelven problemas matemáticos sencillos mediante el uso de bucles, condicionales y entrada de datos por teclado con BufferedReader.

1. Juego: adivinar un número

El programa solicita un número a adivinar y luego pide al usuario que lo adivine en un máximo de 10 intentos. Indica si el número introducido es mayor o menor que el buscado.

import java.io.*;
import java.lang.*;

public class AdivinarNumero
{
    public static void main(String[] args) throws Exception
    {
        BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));
        int op = 1, num, i;

        while (op == 1) { // Inicia el ciclo del programa
            System.out.println("Hay que adivinar el número: \n");
            int control = 1;
            System.out.print("Introduzca el número a adivinar: ");
            control = Integer.parseInt(teclado.readLine());

            System.out.print("Introduzca un número mayor que cero: \n");
            for (i = 1; i <= 10; i++) {
                num = Integer.parseInt(teclado.readLine());
                if (num > control) {
                    System.out.print("Su número es mayor, introduzca uno más pequeño: \n");
                } else if (num < control) {
                    System.out.print("Su número es menor, introduzca uno más grande: \n");
                }
                if (num == control) {
                    break;
                }
                // System.out.print("\n" + i);
            }

            if (i <= 10) {
                System.out.println("¡Usted ganó! :) \n");
            }
            if (i > 10) {
                System.out.println("Usted es un perdedor :( \n");
            }

            System.out.print("Desea jugar de nuevo: 1 = Sí; 2 = No "); // Control de usuario para empezar de nuevo
            op = Integer.parseInt(teclado.readLine());
        }
    }
}

2. Potencias de base 2

Calcula el valor de 2 elevado a un exponente introducido por el usuario, mostrando el desarrollo de la multiplicación.

int num, dec, i, exp;

System.out.print("Introduzca el exponente: ");
exp = Integer.parseInt(teclado.readLine());
dec = 1;
for (i = 1; i <= exp; i++) {
    System.out.print(2);
    if (i < num) System.out.print(" x ");
    dec = dec * 2;
}
System.out.print(" = " + dec);

3. Tablas de multiplicar

Muestra la tabla de multiplicar del 1 al 10 para el número introducido por el usuario.

int op = 1, num, res, i;

while (op == 1) {
    System.out.println("Tablas de multiplicar");
    System.out.print("Introduzca el número: ");
    num = Integer.parseInt(teclado.readLine());
    for (i = 1; i <= 10; i++) {
        res = num * i;
        System.out.println(num + " * " + i + " = " + res);
    }
    System.out.print("Desea calcular las tablas de otro número: 1 = Sí; 2 = No ");
    op = Integer.parseInt(teclado.readLine());
}

4. Sumatoria de un número

Calcula la suma de todos los números enteros desde 1 hasta el número introducido (sin incluirlo).

int op = 1, num, suma, i;

while (op == 1) {
    System.out.println("Sumatoria de un número");
    System.out.print("Introduzca el número: ");
    num = Integer.parseInt(teclado.readLine());
    suma = 0;
    for (i = 1; i < num; i++) {
        System.out.print(i);
        if (i < num) System.out.println(" + ");
        suma = suma + i;
    }
    System.out.println(" = " + suma);
    System.out.print("Desea calcular la sumatoria de otro número: 1 = Sí; 2 = No ");
    op = Integer.parseInt(teclado.readLine());
}

5. Suma y promedio de diez números

Solicita diez números, calcula su suma y su promedio.

int op = 1, num1, num2, num3, num4, num5, num6, num7, num8, num9, num10, i;

while (op == 1) {
    double res = 0, resul = 0;
    System.out.println("Suma y promedio");
    System.out.print("Introduzca un número: ");
    num1 = Integer.parseInt(teclado.readLine());
    // Lectura de los números 2 a 10 (num2 ... num9)
    num10 = Integer.parseInt(teclado.readLine());
    resul = num1 + num2 + num3 + num4 + num5 + num6 + num7 + num8 + num9 + num10;
    res = resul / 10;
    System.out.println("La sumatoria es: " + resul + "\n");
    System.out.println("El promedio es: " + res + "\n");
    System.out.print("Desea calcular la sumatoria y promedio de otros números: 1 = Sí; 2 = No ");
    op = Integer.parseInt(teclado.readLine());
}

6. Raíz cuadrada aproximada

Calcula la raíz cuadrada de un número mediante incrementos sucesivos de 0.0001 hasta que el cuadrado alcance el valor introducido.

int op = 1, num;
double incre, prod;

while (op == 1) {
    System.out.println("Cálculo de la raíz cuadrada");
    System.out.print("Introduzca el número: ");
    num = Integer.parseInt(teclado.readLine());
    incre = 0;
    prod = 0;
    while (prod < num) {
        incre = incre + 0.0001;
        prod = incre * incre;
    }
    System.out.println("La raíz cuadrada es: " + incre);
    System.out.print("Desea calcular la raíz de otro número: 1 = Sí; 2 = No ");
    op = Integer.parseInt(teclado.readLine());
}

7. Determinar si un número es primo

Cuenta los divisores del número introducido. Si tiene exactamente dos divisores (1 y sí mismo), es primo.

int op = 1, num, res = 1, i;

while (op == 1) {
    int cont = 0;
    System.out.println("Determinar si el número es primo");
    System.out.print("Introduzca el número: ");
    num = Integer.parseInt(teclado.readLine());
    for (i = 1; i <= num; i++) {
        int aux = num % i;
        if (aux == 0) {
            cont = cont + 1;
        }
    }
    if (cont == 1) {
        System.out.println("El uno es el único número que no es primo ni compuesto");
    } else if (cont == 2) {
        System.out.println("El número es primo");
    } else if (cont != 2) {
        System.out.println("El número no es primo");
    }
    System.out.print("Desea calcular otro número: 1 = Sí; 2 = No ");
    op = Integer.parseInt(teclado.readLine());
}

8. Divisores de un número

Muestra todos los divisores de un número entero positivo menores que él.

int op = 1, num, resi, i;

while (op == 1) {
    System.out.println("Divisores de un número");
    System.out.print("Introduzca el número: ");
    num = Integer.parseInt(teclado.readLine());
    System.out.print("Los divisores son: ");
    for (i = 1; i < num; i++) {
        resi = num % i;
        if (resi == 0) {
            System.out.print(i);
            if (i < num) System.out.print(", ");
        }
    }
    System.out.println();
    System.out.print("Desea determinar los divisores de otro número: 1 = Sí; 2 = No ");
    op = Integer.parseInt(teclado.readLine());
}

Entradas relacionadas: