SHARE
TWEET

Untitled

a guest Feb 26th, 2020 99 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top