Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
573
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.54 KB | None | 0 0
  1. import java.util.Scanner; // импорт сканнера
  2.  
  3. public class Main // объявление общедоступного класса Main (на самом деле хз что это и зачем)
  4. {
  5. private static int minIncome = 200000; // переменная типа int минимальный порог дохода почему приват статик хз
  6. private static int maxIncome = 900000; //переменная типа int максимальный порог дохода почему приват статик хз
  7.  
  8. private static int officeRentCharge = 140000; //переменная типа int аренда офиса почему приват статик хз
  9. private static int telephonyCharge = 12000; //переменная типа int плата за телефон почему приват статик хз
  10. private static int internetAccessCharge = 7200; //переменная типа int плата за доступ в интернет почему приват статик хз
  11.  
  12. private static int assistantSalary = 45000; //переменная типа int зарплата помощника почему приват статик хз
  13. private static int financeManagerSalary = 90000; //переменная типа int зарплата менеджера почему приват статик хз
  14.  
  15. private static double mainTaxPercent = 0.24; //переменная типа дабл основной налоговый процент почему приват статик хз
  16. private static double managerPercent = 0.15; //переменная типа дабл процент менеджера почему приват статик хз
  17.  
  18. private static double minInvestmentsAmount = 100000; //переменная типа дабл минимальный вход инвестирования почему приват статик хз
  19.  
  20. public static void main(String[] args) //Объявление метода Main (на самом деле хз что это и зачем)
  21. { //расчет минимальной суммы дохода для инвестирования 500916,4 (по расчетам)
  22. while(true) //Бесконечный цикл
  23. {
  24. System.out.println("Введите сумму доходов компании за месяц " +
  25. "(от 200 до 900 тысяч рублей): "); // Вывод на экран запроса о доходах компании за месяц
  26. int income = (new Scanner(System.in)).nextInt(); // присвоение переменной income значения,
  27. // которое ввел пользователь
  28.  
  29. if(!checkIncomeRange(income)) { // отсылка к коду, проверяющему границы дохода
  30. continue; //
  31. }
  32.  
  33. double managerSalary = income * managerPercent; //присвоение переменной Зарплата менеджера значения
  34. // которое ввел пользователь, умноженное на процент менеджера
  35. double pureIncome = income - managerSalary -
  36. calculateFixedCharges(); //расчет чистого входа
  37. double taxAmount = mainTaxPercent * pureIncome; //расчет полного налога
  38. double pureIncomeAfterTax = pureIncome - taxAmount; //расчет чистого входа после уплаты налога
  39.  
  40. boolean canMakeInvestments = pureIncomeAfterTax >=
  41. minInvestmentsAmount; //объявление переменной canMakeInvestments значения true, если чистый вход
  42. // за минусом налога больше минимального входа инвестирования
  43.  
  44. System.out.println("Зарплата менеджера: " + managerSalary); //вывод на экран зарплаты менеджера
  45. System.out.println("Общая сумма налогов: " +
  46. (taxAmount > 0 ? taxAmount : 0)); //вывод на экран значения суммы налога, при условии, что оно больше 0
  47. // иначе вывод нуля
  48. System.out.println("Компания может инвестировать: " +
  49. (canMakeInvestments ? "да" : "нет")); //вывод на экран сообщения о возможности инвестирования
  50. if(pureIncome < 0) { //цикл, проверяющий, что pureIncome < 0
  51. System.out.println("Бюджет в минусе! Нужно срочно зарабатывать!"); //если pureIncome < 0, то вывод
  52. // сообщения "Бюджет в минусе! Нужно срочно зарабатывать!"
  53. }
  54. }
  55. }
  56.  
  57. private static boolean checkIncomeRange(int income) //обозначение булиевой переменной " Проверка диапазона входа"
  58. {
  59. if(income < minIncome) //цикл проверки нижней границы входа
  60. {
  61. System.out.println("Доход меньше нижней границы"); //вывод данного сообщения на экран
  62. return false; //цикл будет повторяться пока не будет указан порог входа выше minIncome
  63. }
  64. if(income > maxIncome) //цикл проверки верхней границы входа
  65. {
  66. System.out.println("Доход выше верхней границы"); //вывод данного сообщения на экран
  67. return false; //цикл будет повторяться пока не будет указан порог входа ниже maxIncome
  68. }
  69. return true; //цикл будет повторяться пока не будут выполнены оба условия (выше)
  70. }
  71.  
  72. private static int calculateFixedCharges() //переменная типа int для расчета фиксированного расхода
  73. {
  74. return officeRentCharge +
  75. telephonyCharge +
  76. internetAccessCharge +
  77. assistantSalary +
  78. financeManagerSalary; //сам расчет и возвращение к строке 36
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement