/
Alexeip
/
oop_lesson_2_task_1
Обзор
Документация
Войти
/
Alexeip
/
oop_lesson_2_task_1
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Company.java
58 строк
2 KB
Alexeip
create: Company.java, Main.java, Deal.java, Expenditure.java, Sale.java, TaxSystem.java, UsnRevenue.java, UsnRevenueExpense.java
05 май 2026, 13:14
Верифицирован
05 май 2026, 13:14
455393c
Код
Авторство
О чём код?
import deals.Deal; import taxes.TaxSystem; import taxes.UsnRevenue; import taxes.UsnRevenueExpense; public class Company { String title; // название компании int debit = 0; // доходы int credit = 0; // расходы TaxSystem taxSystem; // система налогообложения // Конструктор public Company(String title, String taxSystem) { this.title = title; this.setTaxSystem(taxSystem); } // Движение финансов public void shiftMoney(int amount) { if (amount >= 0) { this.debit += amount; } else { this.credit += Math.abs(amount); } } // смена системы налогообложения public void setTaxSystem(String chageTaskSystem) { if (chageTaskSystem.equals("УСН6")) { this.taxSystem = new UsnRevenue(); } if (chageTaskSystem.equals("УСН15")) { this.taxSystem = new UsnRevenueExpense(); } } // расчет налогов public void payTaxes() { int tax = this.taxSystem.calcTaxFor(debit, credit); System.out.printf("Компания %s уплатила налог в размере: %d руб. \n", this.title, tax); this.debit = 0; this.credit = 0; } // применить сделки public int applyDeals(Deal[] deals) { int profit = 0; for (int i = 0; i < deals.length; i++) { shiftMoney(deals[i].debitChange); shiftMoney(-deals[i].creditChange); } profit = this.debit - this.credit; payTaxes(); return profit; } }