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());
}