Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Bibliotecas
- import static java.lang.Math.cbrt;
- import static java.lang.Math.pow;
- import static java.lang.Math.sqrt;
- import java.util.Scanner;
- import java.util.InputMismatchException;
- public class EX07
- {
- // Variaveis
- static double n1, n2;
- // Instanciacao
- static Scanner ent = new Scanner(System.in);
- // Programa principal
- public static void main(String[] args)
- {
- try
- {
- // Chamada de método
- escolha(menu());
- }
- catch (InputMismatchException e)
- {
- System.err.println("# Erro de entrada: por favor, insira um numero valido.");
- }
- catch (Exception e)
- {
- System.err.println("Ocorreu um erro: " + e.getMessage());
- }
- finally
- {
- ent.close();
- }
- }
- // Funcao: Menu
- private static int menu()
- {
- int opc;
- do
- {
- System.out.println("\n ------------------- Menu ------------------- ");
- System.out.println(" [1] O primeiro numero elevado ao segundo numero");
- System.out.println(" [2] Raiz quadrada de cada um dos numeros");
- System.out.println(" [3] Raiz cubica de cada um dos numeros");
- System.out.print(" # Opc: ");
- if (ent.hasNextInt())
- {
- opc = ent.nextInt();
- }
- else
- {
- ent.next(); // Limpeza da entrada invalida
- opc = 0;
- }
- } while (opc < 1 || opc > 3);
- return opc;
- }
- // Metodo: Estrutura em escolha
- private static void escolha(int opc)
- {
- switch (opc)
- {
- case 1:
- numElev();
- break;
- case 2:
- raiQua();
- break;
- case 3:
- raiCub();
- break;
- default:
- System.out.println("# Terminando a execucao do programa");
- break;
- }
- }
- // Metodo: Entrada de dados
- private static void entDados()
- {
- // Entrada de dados
- System.out.print("# N[1]: ");
- // Protecao
- while (!ent.hasNextDouble())
- {
- System.out.println("# Entrada invalida. Por favor, insira um numero valido.");
- System.out.print("# N[1]: ");
- ent.next(); // Limpeza da entrada invalida
- }
- n1 = ent.nextDouble();
- System.out.print(" # N[2]: ");
- // Protecao
- while(!ent.hasNextDouble())
- {
- System.out.println("# Entrada invalida. Por favor, insira um numero valido.");
- System.out.print("# N[2]: ");
- ent.next(); // Limpeza da entrada invalida
- }
- n2 = ent.nextDouble();
- }
- // Metodo: Potencia
- private static void numElev()
- {
- // Apresentacao
- System.out.println("\n --------------- Potencia --------------- ");
- // Entrada de dados
- entDados();
- // Saida de dados
- System.out.printf("\n # [%.2f] ^ [%.2f]: %.2f \n", n1 , n2, pow(n1, n2));
- System.out.println(" ---------------------------------------- ");
- }
- // Metodo Raiz Quadrada
- private static void raiQua()
- {
- // Apresentacao
- System.out.println("\n --------------- Raiz --------------- ");
- // Entrada de dados
- entDados();
- // Saida de dados
- System.out.printf("\n * Raiz quadrada [%.2f]: %.2f \n", n1, sqrt(n1));
- System.out.printf(" * Raiz quadrada [%.2f]: %.2f \n", n2, sqrt(n2));
- System.out.println(" ------------------------------------ ");
- }
- // Metodo Raiz Cubica
- private static void raiCub()
- {
- // Apresentacao
- System.out.println("\n --------------- Raiz --------------- ");
- // Entrada de dados
- entDados();
- // Saida de dados
- System.out.printf("\n # Raiz cubica [%.2f]: %.2f \n", n1, cbrt(n1));
- System.out.printf(" # Raiz cubica [%.2f]: %.2f \n", n2, cbrt(n2));
- System.out.println(" ------------------------------------ ");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement