package org.example;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); // Create a Scanner object
String opciones = "1. Raíz Cuadrada\n" +
"2. Valor Absoluto.\n" +
"3. Factorial\n" +
"4. Separación de la parte entera y decimal\n" +
"5. Truncar, Redondear\n" +
"6. Logaritmo Natural\n" +
"7. Función Exponencial\n" +
"8. Seno, Coseno, ArcoTangente'\n" +
"9. Determinar si es Número primo";
System.out.println("NUmero>");
double numero = scan.nextDouble();
System.out.println(opciones);
System.out.println("Que opcion desea>");
int opcion = scan.nextInt(); // Read user input
switch (opcion){
case 1:
System.out.println("raiz>"+Math.sqrt(numero));
break;
case 2:
System.out.println("Valor absoluto>"+Math.abs(numero));
break;
case 3:
int factorial = 1;
if (numero == 0){
factorial = 1;
}else {
for (int i=1; i<=numero; i++ ){
factorial = factorial * i;
}
}
System.out.println("factorial>"+factorial);
break;
case 4:
System.out.println("Parte entera>"+(int) numero);
System.out.println("Parte Decimal>"+ numero % 1);
break;
case 5:
String pattern = "#.###"; //También puede ser como dato de entrada
DecimalFormat decimalFormat = new DecimalFormat(pattern);
String formattedDouble = decimalFormat.format(numero);
System.out.println("Truncado>"+formattedDouble);
System.out.println("Redondeado>"+Math.round(numero));
break;
case 6:
System.out.println("Logaritmo natural>"+Math.log(numero));
break;
case 7:
System.out.println("Funcion exponencial>"+Math.exp(numero));
break;
case 8:
System.out.println("Seno>"+Math.sin(numero));
System.out.println("Coseno>"+Math.cos(numero));
System.out.println("Arcotangente>"+Math.atan(numero));
break;
case 9:
int nDivisores = 0;
for (int i=1; i<=numero; i++ ){
if (numero % i == 0){
nDivisores += 1;
}
}
if (nDivisores>2){
System.out.println("No es primo");
}else{
System.out.println("Es primo");
}
break;
}
}
}