Está en la página 1de 6

1

Entrega 2

Jorge Enrique Hernández Guzmán


Lissa Fernanda Pita Malambo
Bragean Smith Parra Garzón

Politécnico Grancolombiano

programación Computadores
Oscar Vargas
16 de abril 2024
2

Adivina el personaje:

Escriba un programa que pida al usuario elegir uno de los personajes de la lista de abajo (sin
informar de su elección a su programa). Posteriormente, su programa debe hacer al usuario un
conjunto de preguntas (máximo 5) de tipo Sí/No hasta determinar el personaje escogido por el
usuario. Personajes: Radamel Falcao García, Goku, Michael Jordan, Eminem, Darth Vader, Adam
Sandler, Bruce Wayne, Tin Tin, Ayudante de Santa, Joe Biden, José Saramago,Günter Grass y Kim
Jong Un.

Ejercicio:

import java.util.Scanner;

public class AdivinaElPersonaje {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in)

String[] personajes = {

"Radamel Falcao García", "Goku", "Michael Jordan", "Eminem",

"Darth Vader", "Adam Sandler", "Bruce Wayne", "Tin Tin",

"Ayudante de Santa", "Joe Biden", "José Saramago",

"Günter Grass", "Kim Jong Un"

};

System.out.println("Elige uno de los siguientes personajes:");

for (int i = 0; i < personajes.length; i++) {

System.out.println((i + 1) + ". " + personajes[i]);

int indiceSeleccionado = -1;

while (indiceSeleccionado < 0 || indiceSeleccionado >= personajes.length) {

System.out.print("Ingresa el número correspondiente al personaje: ");

indiceSeleccionado = scanner.nextInt() - 1;

if (indiceSeleccionado < 0 || indiceSeleccionado >= personajes.length) {

System.out.println("Por favor, ingresa un número válido.");

}
3

String personajeElegido = personajes[indiceSeleccionado];

hacerPreguntas(personajeElegido);

scanner.close();

public static void hacerPreguntas(String personaje) {

String[][] preguntas = {

{"¿Es conocido por ser un futbolista?", "sí", "no"},

{"¿Es un personaje de anime?", "sí", "no"},

{"¿Es conocido por ser un jugador de baloncesto?", "sí", "no"},

{"¿Es un rapero?", "sí", "no"},

{"¿Es un personaje de Star Wars?", "sí", "no"},

// Puedes añadir más preguntas para los otros personajes aquí

};

Scanner scanner = new Scanner(System.in)

System.out.println("Piensa en tu personaje: " + personaje);

for (String[] pregunta : preguntas) {

System.out.print(pregunta[0] + " (sí/no): ");

String respuesta = scanner.nextLine().toLowerCase();

while (!respuesta.equals("sí") && !respuesta.equals("no")) {

System.out.print("Por favor, responde con 'sí' o 'no': ");

respuesta = scanner.nextLine().toLowerCase();

if (respuesta.equals(pregunta[1])) {

continue;

} else if (respuesta.equals(pregunta[2])) {

System.out.println(personaje + " no es tu personaje.");

return;

System.out.println("¡" + personaje + " es tu personaje!");


4

2. Caballos

A. Escriba un método java que reciba como entrada cuatro valores enteros, fila_cab (filacaballo),
col_cab (columna caballo), fila_rey y col_rey; y decida si, en un tablero de ajedrez, un caballo en la
posición (fila_cab, col_cab) ataca a un rey en la posición (fila_rey,col_rey).

B. Escriba un programa que pida al usuario las posiciones de un caballo y un rey en un tablero de
ajedrez, y muestre en consola si el rey es atacado por el caballo. El programa debe usar el método
creado en el literal a.

Ejercicio:

Caballos

import java.util.Scanner;

public class Caballos {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("Ingrese la posición del caballo:");

System.out.print("Fila del caballo (1-8): ");

int filaCaballo = scanner.nextInt();

System.out.print("Columna del caballo (1-8): ");

int colCaballo = scanner.nextInt();

System.out.println("Ingrese la posición del rey:");

System.out.print("Fila del rey (1-8): ");

int filaRey = scanner.nextInt();

System.out.print("Columna del rey (1-8): ");

int colRey = scanner.nextInt();


5

if (atacaRey(filaCaballo, colCaballo, filaRey, colRey)) {

System.out.println("El caballo ataca al rey.");

} else {

System.out.println("El caballo no ataca al rey.");

scanner.close();

public static boolean atacaRey(int filaCab, int colCab, int filaRey, int colRey) {

// Verificar si la distancia entre el caballo y el rey es válida para un movimiento de caballo

int distFila = Math.abs(filaCab - filaRey);

int distCol = Math.abs(colCab - colRey);

return (distFila == 2 && distCol == 1) || (distFila == 1 && distCol == 2);

3. Suma de números primos

Escribe un programa que reciba como entrada un número entero positivo, n, y calcule la suma de
todos los números primos menores o iguales que n. Luego, imprime el resultado de esta suma.

Ejercicio:
Suma de números primos:

import java.util.Scanner;

public class SumaNumerosPrimos {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("Ingrese un número entero positivo: ");

int n = scanner.nextInt();

int suma = calcularSumaPrimos(n);


6

System.out.println("La suma de todos los números primos menores o iguales que " + n + " es:
" + suma);

scanner.close();

public static int calcularSumaPrimos(int n) {

int suma = 0;

for (int i = 2; i <= n; i++) {

if (esPrimo(i)) {

suma += i;

return suma;

public static boolean esPrimo(int num) {

if (num <= 1) {

return false;

for (int i = 2; i <= Math.sqrt(num); i++) {

if (num % i == 0) {

return false;

return true;

También podría gustarte