fork download
  1. package beans;
  2.  
  3. import java.text.NumberFormat;
  4.  
  5. public class IncomeTaxCalculatorBean {
  6.  
  7. private double grossIncome;
  8. private double baselineValue;
  9.  
  10. public String getIncomeTax() {
  11. double baselineValuesAmount = grossIncome / baselineValue;
  12.  
  13. final double baselineGroup1 = 240d;
  14. final double baselineGroup3 = baselineValuesAmount - 600d;
  15. final double baselineGroup2 = baselineValuesAmount
  16. - (baselineGroup1 + baselineGroup3);
  17. final double baselineGroup4 = baselineValuesAmount - 840d;
  18. final double baselineGroup5 = baselineValuesAmount - 1080d;
  19.  
  20. final double baselineTax1 = baselineValuesAmount * 0.09;
  21. final double baselineTax2 = (baselineValuesAmount - baselineGroup1) * 0.15;
  22. final double baselineGroupTax1 = baselineGroup1 * 0.09;
  23. final double baselineGroupTax2 = baselineGroup2 * 0.15;
  24. double baselineGroupTax3 = baselineGroup3 * 0.20;
  25. double baselineGroupTax4 = baselineGroup4 * 0.25;
  26. final double baselineGroupTax5 = baselineGroup5 * 0.30;
  27.  
  28. double totalTax = 0d;
  29. double income = 0d;
  30.  
  31. final NumberFormat nf = NumberFormat.getInstance();
  32. nf.setMaximumFractionDigits(2);
  33. nf.setMinimumFractionDigits(2);
  34.  
  35. if (baselineValuesAmount >= 0d && baselineValuesAmount <= 240d) {
  36. totalTax = baselineTax1;
  37. } else if (baselineValuesAmount > 240d && baselineValuesAmount <= 600d) {
  38. totalTax = baselineGroupTax1 + baselineTax2;
  39. } else if (baselineValuesAmount > 600d && baselineValuesAmount <= 840d) {
  40. totalTax = baselineGroupTax1 + baselineGroupTax2
  41. + baselineGroupTax3;
  42. } else if (baselineValuesAmount > 840d && baselineValuesAmount <= 1080d) {
  43. baselineGroupTax3 = (baselineGroup3 - baselineGroup4) * 0.20;
  44. totalTax = baselineGroupTax1 + baselineGroupTax2
  45. + baselineGroupTax3 + baselineGroupTax4;
  46. } else if (baselineValuesAmount > 1080d) {
  47. baselineGroupTax3 = (baselineGroup3 - baselineGroup4) * 0.20;
  48. baselineGroupTax4 = (baselineGroup4 - baselineGroup5) * 0.25;
  49. totalTax = baselineGroupTax1 + baselineGroupTax2
  50. + baselineGroupTax3 + baselineGroupTax4 + baselineGroupTax5;
  51. }
  52. income = (baselineValuesAmount - totalTax) * baselineValue;
  53. return nf.format(income) + "(Чистый доход (бел. руб.)) = "
  54. + nf.format(grossIncome) + "(Доход) - "
  55. + nf.format((totalTax * baselineValue)) + "(Подоходный налог)";
  56. }
  57.  
  58. public double getGrossIncome() {
  59. return grossIncome;
  60. }
  61.  
  62. public void setGrossIncome(double grossIncome) {
  63. this.grossIncome = grossIncome;
  64. }
  65.  
  66. public double getBaselineValue() {
  67. return baselineValue;
  68. }
  69.  
  70. public void setBaselineValue(double baselineValue) {
  71. this.baselineValue = baselineValue;
  72. }
  73.  
  74. }
  75.  
Not running #stdin #stdout 0s 0KB
stdin
Standard input is empty
stdout
Standard output is empty