Comentarios y respuestas

Escribir un programa que permita al usuario ingresar un número y elegir entre dos operaciones: • Determinar si es o no primo • Hallar su factorial. Luego de mostrar el resultado de la operación

¡Claro! Aquí te dejo el código en Java: ``` import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new
6/6/2023 16:05
Escribir un programa que permita al usuario
ingresar un número y elegir entre dos
operaciones:
•



Consulta:

Escribir un programa que permita al usuario
ingresar un número y elegir entre dos
operaciones:
• Determinar si es o no primo
• Hallar su factorial.
Luego de mostrar el resultado de la
operación elegida, debe preguntarse al
usuario si desea continuar o no. El programa
termina cuando el usuario ingresa “no”. con do-while

Respuesta:

¡Claro! Aquí te dejo el código en Java:

```
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean continuar = true;

do {
System.out.print("Ingrese un número: ");
int num = sc.nextInt();

System.out.println("Elija una operación:");
System.out.println("1. Determinar si es o no primo");
System.out.println("2. Hallar su factorial");
int opcion = sc.nextInt();

switch(opcion) {
case 1:
if(esPrimo(num)) {
System.out.println(num + " es primo");
} else {
System.out.println(num + " no es primo");
}
break;
case 2:
System.out.println("El factorial de " + num + " es " + factorial(num));
break;
default:
System.out.println("Opción inválida");
break;
}

System.out.println("¿Desea continuar? (s/n)");
String respuesta = sc.next();
if(respuesta.equalsIgnoreCase("n")) {
continuar = false;
}
} while(continuar);

System.out.println("¡Hasta luego!");
}

public static boolean esPrimo(int num) {
if(num < 2) {
return false;
}
for(int i=2; i<=Math.sqrt(num); i++) {
if(num % i == 0) {
return false;
}
}
return true;
}

public static int factorial(int num) {
int fact = 1;
for(int i=1; i<=num; i++) {
fact *= i;
}
return fact;
}
}
```

El programa utiliza un bucle `do-while` para permitir que el usuario repita la operación varias veces hasta que decida salir. Dentro del bucle, se le pide al usuario que ingrese un número y luego elige una operación con un menú. Dependiendo de la selección del usuario, el programa llama a la función correspondiente (`esPrimo` para determinar si el número es primo o `factorial` para calcular su factorial) y muestra el resultado.

Después de cada operación, el programa pregunta al usuario si desea continuar. Si el usuario ingresa "n", el bucle termina y el programa se despide.



 


Artículos relacionados