Advertisement
LightProgrammer000

Fiscal

Jul 5th, 2024
853
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.35 KB | None | 0 0
  1. package modulo_3;
  2.  
  3. import java.text.NumberFormat;
  4. import java.util.Locale;
  5.  
  6. public class EX09
  7. {
  8.     public static void main(String[] args)
  9.     {
  10.         fiscal();
  11.     }      
  12.  
  13.     private static void fiscal()
  14.     {
  15.         System.out.println("*** CALCULOS FISCAIS ***");
  16.        
  17.         switch (menu())
  18.         {
  19.             case 1:
  20.                 System.out.printf("# Imposto: %s\n", valorReal(imposto(receberSalario())));
  21.                 break;
  22.            
  23.             case 2:
  24.                 System.out.printf("# Novo salario: %s\n", valorReal(novoSalario(receberSalario())));
  25.                 break;
  26.                
  27.             case 3:
  28.                 System.out.printf("# Classificacao: %s\n", classificacao(receberSalario()));
  29.                 break;
  30.                
  31.             case 4:
  32.                 System.exit(0);
  33.                 break;
  34.  
  35.             default:
  36.                 break;    
  37.         }
  38.     }
  39.  
  40.     private static int menu()
  41.     {
  42.         int opc = 0;
  43.  
  44.         do
  45.         {
  46.             System.out.println("\n#----- Menu -----#");
  47.             System.out.println("[1] Imposto");
  48.             System.out.println("[2] Novo Salario");
  49.             System.out.println("[3] Classificacao");
  50.             System.out.println("[4] Finalizar o programa");
  51.             System.out.print("# Resp: ");
  52.  
  53.             try
  54.             {
  55.                 opc = Integer.parseInt(System.console().readLine());
  56.             }
  57.  
  58.             catch (NumberFormatException e)
  59.             {
  60.                 System.out.println("# Opcao Invalida !");            
  61.             }
  62.  
  63.         } while (opc < 1 || opc > 4);
  64.  
  65.         return opc;
  66.     }
  67.    
  68.     // Funcao: Receber valor do salario
  69.     private static double receberSalario()
  70.     {
  71.         System.out.print("# Salario: ");
  72.         double sal = Double.parseDouble(System.console().readLine());
  73.        
  74.         return sal;        
  75.     }
  76.  
  77.     // Metodo: Calculo do imposto
  78.     private static double imposto(double sal)
  79.     {
  80.         if (sal < 1000)
  81.         {
  82.             return sal * 5/100;                        
  83.         }
  84.  
  85.         else if (sal >= 1000 && sal <= 3000)
  86.         {
  87.             return sal * 10/100;            
  88.         }
  89.  
  90.         else
  91.         {
  92.             return sal * 15/100;
  93.         }
  94.     }
  95.  
  96.     // Metodo: Calculo do novo salario
  97.     private static double novoSalario(double sal)
  98.     {
  99.         if (sal > 4500)
  100.         {
  101.             return (sal + 45);            
  102.         }
  103.  
  104.         else if (sal >= 2250 && sal <= 4500)
  105.         {
  106.             return (sal + 150);            
  107.         }
  108.  
  109.         else if (sal >= 1350 && sal <= 2249.99)
  110.         {
  111.             return (sal + 225);            
  112.         }
  113.  
  114.         else
  115.         {
  116.             return (sal + 300);                        
  117.         }
  118.     }
  119.  
  120.     // Metodo: Classificacao
  121.     private static String classificacao(double sal)
  122.     {
  123.         if (sal <= 1500)
  124.         {
  125.             return "Mal remunerado";            
  126.         }
  127.  
  128.         else
  129.         {
  130.             return "Bem remunerado";
  131.         }    
  132.     }
  133.    
  134.     // Funcao: Formatar valor
  135.     private static String valorReal(double sal)
  136.     {
  137.         NumberFormat formatoBrasil = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
  138.  
  139.         // Formata o valor como moeda
  140.         return formatoBrasil.format(sal);
  141.     }
  142. }
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement