Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner; // импорт сканнера
- public class Main // объявление общедоступного класса Main (на самом деле хз что это и зачем)
- {
- private static int minIncome = 200000; // переменная типа int минимальный порог дохода почему приват статик хз
- private static int maxIncome = 900000; //переменная типа int максимальный порог дохода почему приват статик хз
- private static int officeRentCharge = 140000; //переменная типа int аренда офиса почему приват статик хз
- private static int telephonyCharge = 12000; //переменная типа int плата за телефон почему приват статик хз
- private static int internetAccessCharge = 7200; //переменная типа int плата за доступ в интернет почему приват статик хз
- private static int assistantSalary = 45000; //переменная типа int зарплата помощника почему приват статик хз
- private static int financeManagerSalary = 90000; //переменная типа int зарплата менеджера почему приват статик хз
- private static double mainTaxPercent = 0.24; //переменная типа дабл основной налоговый процент почему приват статик хз
- private static double managerPercent = 0.15; //переменная типа дабл процент менеджера почему приват статик хз
- private static double minInvestmentsAmount = 100000; //переменная типа дабл минимальный вход инвестирования почему приват статик хз
- public static void main(String[] args) //Объявление метода Main (на самом деле хз что это и зачем)
- { //расчет минимальной суммы дохода для инвестирования 500916,4 (по расчетам)
- while(true) //Бесконечный цикл
- {
- System.out.println("Введите сумму доходов компании за месяц " +
- "(от 200 до 900 тысяч рублей): "); // Вывод на экран запроса о доходах компании за месяц
- int income = (new Scanner(System.in)).nextInt(); // присвоение переменной income значения,
- // которое ввел пользователь
- if(!checkIncomeRange(income)) { // отсылка к коду, проверяющему границы дохода
- continue; //
- }
- double managerSalary = income * managerPercent; //присвоение переменной Зарплата менеджера значения
- // которое ввел пользователь, умноженное на процент менеджера
- double pureIncome = income - managerSalary -
- calculateFixedCharges(); //расчет чистого входа
- double taxAmount = mainTaxPercent * pureIncome; //расчет полного налога
- double pureIncomeAfterTax = pureIncome - taxAmount; //расчет чистого входа после уплаты налога
- boolean canMakeInvestments = pureIncomeAfterTax >=
- minInvestmentsAmount; //объявление переменной canMakeInvestments значения true, если чистый вход
- // за минусом налога больше минимального входа инвестирования
- System.out.println("Зарплата менеджера: " + managerSalary); //вывод на экран зарплаты менеджера
- System.out.println("Общая сумма налогов: " +
- (taxAmount > 0 ? taxAmount : 0)); //вывод на экран значения суммы налога, при условии, что оно больше 0
- // иначе вывод нуля
- System.out.println("Компания может инвестировать: " +
- (canMakeInvestments ? "да" : "нет")); //вывод на экран сообщения о возможности инвестирования
- if(pureIncome < 0) { //цикл, проверяющий, что pureIncome < 0
- System.out.println("Бюджет в минусе! Нужно срочно зарабатывать!"); //если pureIncome < 0, то вывод
- // сообщения "Бюджет в минусе! Нужно срочно зарабатывать!"
- }
- }
- }
- private static boolean checkIncomeRange(int income) //обозначение булиевой переменной " Проверка диапазона входа"
- {
- if(income < minIncome) //цикл проверки нижней границы входа
- {
- System.out.println("Доход меньше нижней границы"); //вывод данного сообщения на экран
- return false; //цикл будет повторяться пока не будет указан порог входа выше minIncome
- }
- if(income > maxIncome) //цикл проверки верхней границы входа
- {
- System.out.println("Доход выше верхней границы"); //вывод данного сообщения на экран
- return false; //цикл будет повторяться пока не будет указан порог входа ниже maxIncome
- }
- return true; //цикл будет повторяться пока не будут выполнены оба условия (выше)
- }
- private static int calculateFixedCharges() //переменная типа int для расчета фиксированного расхода
- {
- return officeRentCharge +
- telephonyCharge +
- internetAccessCharge +
- assistantSalary +
- financeManagerSalary; //сам расчет и возвращение к строке 36
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement