Advertisement
LightProgrammer000

Operações

Jun 29th, 2024
542
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.42 KB | None | 0 0
  1. // Bibliotecas
  2. import static java.lang.Math.cbrt;
  3. import static java.lang.Math.pow;
  4. import static java.lang.Math.sqrt;
  5. import java.util.Scanner;
  6. import java.util.InputMismatchException;
  7.  
  8. public class EX07
  9. {
  10.     // Variaveis
  11.     static double n1, n2;
  12.  
  13.     // Instanciacao
  14.     static Scanner ent = new Scanner(System.in);
  15.    
  16.     // Programa principal
  17.     public static void main(String[] args)
  18.     {
  19.         try
  20.         {
  21.             // Chamada de método
  22.             escolha(menu());
  23.         }
  24.        
  25.         catch (InputMismatchException e)
  26.         {
  27.             System.err.println("# Erro de entrada: por favor, insira um numero valido.");
  28.         }
  29.  
  30.         catch (Exception e)
  31.         {
  32.             System.err.println("Ocorreu um erro: " + e.getMessage());
  33.         }
  34.        
  35.         finally
  36.         {
  37.             ent.close();
  38.         }
  39.     }
  40.  
  41.     // Funcao: Menu
  42.     private static int menu()
  43.     {
  44.         int opc;
  45.        
  46.         do
  47.         {
  48.             System.out.println("\n ------------------- Menu ------------------- ");
  49.             System.out.println(" [1] O primeiro numero elevado ao segundo numero");
  50.             System.out.println(" [2] Raiz quadrada de cada um dos numeros");
  51.             System.out.println(" [3] Raiz cubica de cada um dos numeros");
  52.             System.out.print(" # Opc: ");
  53.  
  54.             if (ent.hasNextInt())
  55.             {
  56.                 opc = ent.nextInt();                
  57.             }
  58.            
  59.             else
  60.             {
  61.                 ent.next(); // Limpeza da entrada invalida
  62.                 opc = 0;
  63.             }
  64.            
  65.         } while (opc < 1 || opc > 3);
  66.    
  67.         return opc;
  68.     }
  69.  
  70.     // Metodo: Estrutura em escolha
  71.     private static void escolha(int opc)
  72.     {
  73.         switch (opc)
  74.         {
  75.             case 1:
  76.                 numElev();
  77.                 break;
  78.  
  79.             case 2:
  80.                 raiQua();
  81.                 break;
  82.  
  83.             case 3:
  84.                 raiCub();
  85.                 break;
  86.  
  87.             default:
  88.                 System.out.println("# Terminando a execucao do programa");
  89.                 break;
  90.         }
  91.     }
  92.  
  93.     // Metodo: Entrada de dados
  94.     private static void entDados()
  95.     {
  96.         // Entrada de dados
  97.         System.out.print("# N[1]: ");
  98.        
  99.         // Protecao
  100.         while (!ent.hasNextDouble())
  101.         {
  102.             System.out.println("# Entrada invalida. Por favor, insira um numero valido.");
  103.            
  104.             System.out.print("# N[1]: ");
  105.             ent.next(); // Limpeza da entrada invalida
  106.         }
  107.        
  108.         n1 = ent.nextDouble();
  109.                
  110.         System.out.print(" # N[2]: ");
  111.        
  112.         // Protecao
  113.         while(!ent.hasNextDouble())
  114.         {
  115.             System.out.println("# Entrada invalida. Por favor, insira um numero valido.");
  116.            
  117.             System.out.print("# N[2]: ");            
  118.             ent.next(); // Limpeza da entrada invalida
  119.         }
  120.  
  121.         n2 = ent.nextDouble();
  122.     }    
  123.  
  124.     // Metodo: Potencia
  125.     private static void numElev()
  126.     {
  127.         // Apresentacao
  128.         System.out.println("\n --------------- Potencia --------------- ");
  129.  
  130.         // Entrada de dados
  131.         entDados();
  132.  
  133.         // Saida de dados
  134.         System.out.printf("\n # [%.2f] ^ [%.2f]: %.2f \n", n1 , n2, pow(n1, n2));
  135.         System.out.println(" ---------------------------------------- ");
  136.     }
  137.    
  138.     // Metodo Raiz Quadrada
  139.     private static void raiQua()
  140.     {
  141.         // Apresentacao
  142.         System.out.println("\n --------------- Raiz --------------- ");
  143.        
  144.         // Entrada de dados
  145.         entDados();
  146.        
  147.         // Saida de dados
  148.         System.out.printf("\n * Raiz quadrada [%.2f]: %.2f \n", n1, sqrt(n1));
  149.         System.out.printf(" * Raiz quadrada [%.2f]: %.2f \n", n2, sqrt(n2));
  150.         System.out.println(" ------------------------------------ ");
  151.     }
  152.    
  153.     // Metodo Raiz Cubica
  154.     private static void raiCub()
  155.     {
  156.         // Apresentacao
  157.         System.out.println("\n --------------- Raiz --------------- ");
  158.  
  159.         // Entrada de dados
  160.         entDados();
  161.        
  162.         // Saida de dados
  163.         System.out.printf("\n # Raiz cubica [%.2f]: %.2f \n", n1, cbrt(n1));
  164.         System.out.printf(" # Raiz cubica [%.2f]: %.2f \n", n2, cbrt(n2));
  165.         System.out.println(" ------------------------------------ ");
  166.     }
  167. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement