/ CalculadoraPrimitiva.java
CalculadoraPrimitiva.java
 1  
 2  /* Realiza un programa que lea dos números, calcule y muestre el valor de su suma, resta, producto,
 3  potencia y división. (Ten en cuenta que no se puede dividir por cero) */
 4  import java.util.Scanner;
 5  
 6  public class CalculadoraPrimitiva {
 7      // Método 1: El principal (punto de entrada)
 8      public static void main(String[] args) {
 9          Scanner sc = new Scanner(System.in);
10  
11          int valorA = leerNums(sc, "Inserte un número: ");
12          int valorB = leerNums(sc, "Inserte otro número: ");
13  
14          int suma = valorA + valorB;
15          System.out.println(valorA + " + " + valorB + " es igual a: " + suma);
16  
17          int resta = valorA - valorB;
18          System.out.println(valorA + " - " + valorB + " es igual a: " + resta);
19  
20          int producto = valorA * valorB;
21          System.out.println(valorA + " x " + valorB + " es igual a: " + producto);
22  
23          if (valorB != 0) {
24              double division = (double) valorA / valorB;
25              System.out.println(valorA + " / " + valorB + " es igual a: " + division);
26          } else {
27              System.out.println("No se puede dividir por 0");
28          }
29  
30          double potencia = Math.pow(valorA, valorB);
31          System.out.println(valorA + " ^ " + valorB + " es igual a: " + potencia);
32  
33          sc.close();
34      }
35  
36      // Método 2: Método auxiliar para validar entrada
37      public static int leerNums(Scanner sc, String mensaje) {
38          int valor = 0;
39          boolean entradaValida = false;
40  
41          while (!entradaValida) {
42              try {
43                  System.out.print(mensaje); // Pintará el mensaje como 2do param que le pasemos a la función
44                  valor = sc.nextInt(); // Espera la entrada de tipo integer
45                  sc.nextLine(); // Limpiar buffer después del nextInt()
46                  entradaValida = true; // Salir del bucle
47              } catch (Exception e) {
48                  System.out.println("Error: Debes introducir un número.");
49                  sc.nextLine(); // Limpiar el input inválido del buffer
50              }
51          }
52  
53          return valor;
54      }
55  }