Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 4

Задача создать систему бух учета

27.07.2025, 11:43. Показов 3002. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я только начинаю. Нужно написать систему бух учета. Логика контроля расходов и доходов должны быть в одном классе, а логика системы налогообложения в других.

Должен быть класс Company который помнит о себе title(название), debit(доходы), credit(расходы) и taxSystem (систему налогообложения).

При этом в классе Company должен быть только 1 конструктор который задает title и taxSystem.

Есть метод shiftMoney(int amount), который работает следующим образом:
если amount больше 0, то значение debit увеличивается на amount;
если amount меньше 0, то значение credit увеличивается на Math.abs(amount);
если amount равно 0, то ничего не происходит.

Систему налогообложения наследуются от класса taxSystem налог УСН Доходы 6% и налог УСН Доходы минус расходы 15%

Еще в классе Company должен быть сеттер, который меняет систему налогообложения.

И метод метод payTaxes(), который:
рассчитает размер налогов с помощью выбранной компанией системы налогообложения;
выведет на экран сообщение вида: Компания <название> уплатила налог в размере: <сумма> руб.;
обнулит счётчики debit и credit.

Добавлено через 1 минуту
Предварительно написала это

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import taxes.TaxSystem;
 
public class Main {
    public static void main(String[] args) {
 
 
        int debit = 0;
        int credit = 0;
        TaxSystem calcTaxFor = new TaxSystem();
        Company company = new Company(" Окно ", calcTaxFor);
        company.shiftMoney(1000);
        company.shiftMoney(-60);
        company.payTaxes();
        company.setTaxSystemCalcTaxFor(calcTaxFor);
    }
 
}
 
 
import taxes.TaxSystem;
 
 
public class Company {
 
    public String title;
    public int debit ;
    public int credit;
    public TaxSystem calcTaxFor;
 
 
    public Company(String title,TaxSystem taxSystem){
        this.title = title;
        this.calcTaxFor = taxSystem;
 
    }
 
    public void shiftMoney(int amount){
        if (amount > 0){
            int debit = this.debit + amount;
            System.out.println(debit);
        } else if(amount < 0){
            int credit = this.credit + Math.abs(amount);
 
            System.out.println(credit);
        }else if (amount == 0){
            System.out.println("0");
        }
    }
 
    public void setTaxSystemCalcTaxFor(TaxSystem taxSystemCalcTaxFor) {
        this.calcTaxFor = taxSystemCalcTaxFor;
    }
 
    public void payTaxes() {
        System.out.println("Компания "+ title +" уплатила налог в размере: "+ this.calcTaxFor +" руб.");
 
    }
 
 
 
 
}
 
package taxes;
 
public class TaxSystem {
 
    public int calcTaxFor(int debit, int credit) {
 
        return 0;
    }
 
}
 
package taxes;
 
public class income extends TaxSystem{
 
    @Override
    public int calcTaxFor(int debit, int credit){
        int tax6 = (debit * 6)/100;
        if (tax6 > 0){
            return tax6;
        }else return 0;
    }
 
}
 
package taxes;
 
public class income_minus_expenses extends TaxSystem{
 
 
    @Override
    public int calcTaxFor(int debit, int credit){
        int tax15 = (debit - credit) * 15 / 100;
        if(tax15 > 0){
            return tax15;
        }else return 0;
    }
}
Добавлено через 56 секунд
Код компилируется, но выдаёт неверное значение почему не могу понять, ломаю голову не первый день. Подскажите если поняли в чём причина
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.07.2025, 11:43
Ответы с готовыми решениями:

Создание системы бухгалтерского учёта
Добрый день! Есть домашнее задание. Никак не выходит Надо написать систему бухгалтерского учёта....

Создать приложение для задачи определения стоимости разговора по телефону с учетом скидки, c использованием оператора if
напишите пожалуйста программу. Создать приложение для задачи определения стоимости разговора по...

Разработка системы управления учетом рабочего времени сотрудников.
Разработка системы управления учетом рабочего времени сотрудников. Система должна включать учет...

8
231 / 172 / 71
Регистрация: 14.06.2024
Сообщений: 467
27.07.2025, 12:56
Цитата Сообщение от hatshess Посмотреть сообщение
int debit = 0;
int credit = 0;
Цитата Сообщение от hatshess Посмотреть сообщение
int tax6 = (debit * 6)/100;
Цитата Сообщение от hatshess Посмотреть сообщение
int tax15 = (debit - credit) * 15 / 100;
с копейками/центами ваша Company не работает?

Java
1
System.out.printf("6/100=%f  15/100=%f\n",(double)(6/100),(double)(15/100));
0
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 4
27.07.2025, 12:59  [ТС]
нет, только с целыми числами.

Нашла в чём ошибка, все работает
0
35 / 60 / 2
Регистрация: 23.11.2024
Сообщений: 748
27.07.2025, 19:43
Цитата Сообщение от hatshess Посмотреть сообщение
Нашла в чём ошибка
А нам, читателям, почему бы не рассказать?

Java
1
2
3
4
5
6
7
8
9
10
11
12
public void shiftMoney(int amount){
        if (amount > 0){
            int debit = this.debit + amount;
            System.out.println(debit);
        } else if(amount < 0){
            int credit = this.credit + Math.abs(amount);
 
            System.out.println(credit);
        }else if (amount == 0){
            System.out.println("0");
        }
    }
Вот тут считывается значение переменной класса, вычисляется новое, и кладётся в стек.
Обратно в переменную класса вычисленное значение не помещается.
0
1 / 1 / 0
Регистрация: 26.11.2019
Сообщений: 14
29.07.2025, 10:09
даёшь 1Ску на Java-e
0
Нарушитель
771 / 539 / 67
Регистрация: 22.12.2013
Сообщений: 2,498
Записей в блоге: 26
16.10.2025, 20:26
Цитата Сообщение от hatshess Посмотреть сообщение
нет, только с целыми числами.
Вас не смущает, то что вы используете int для работы с финансами?

Добавлено через 18 минут
BigDecimal для этих целей был бы неплохой выбор.
1
Заблокирован
01.11.2025, 19:31
Про план счетов слыхали или это упрощённая модель?
0
0 / 0 / 0
Регистрация: 23.12.2025
Сообщений: 2
23.12.2025, 17:20
Цитата Сообщение от vvm28 Посмотреть сообщение
Вас не смущает, то что вы используете int для работы с финансами?

Добавлено через 18 минут
BigDecimal для этих целей был бы неплохой выбор.
Почему бы и не int? BigDecimal/BigInteger это все же объекты, и они потяжелее примитивов)
Сумма в интах может представлять из себя копейки например. Фронт пусть сам выполняет целочисленное и деление по модулю для отображения суммы в формате руб/коп.
В инте правда можно представить не более 21.5 млн. руб. Для домашней бухгалтерии хватит) Ну и за потокобезопасностью нужно тщательней следить, тогда как BigDecimal/BigInteger избавляют от лишней мороки
0
Эксперт .NET
 Аватар для Usaga
14145 / 9374 / 1350
Регистрация: 21.01.2016
Сообщений: 35,289
11.02.2026, 16:37
Цитата Сообщение от vvm28 Посмотреть сообщение
Вас не смущает, то что вы используете int для работы с финансами?
В int могут держать копейки. Или число с фиксированной запятой. Внезапно, да?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.02.2026, 16:37
Помогаю со студенческими работами здесь

Система учета товаров на складе
Помогите, пожалуйста, сделать программу на тему &quot;Система учета товаров на складе&quot; Буду чрезмерно...

Написать программу для учета статистики продвижения web-сайта в поисковых системах
Нужно написать программу для Учета статистики продвижения web-сайта в поисковых системах. О чем:...

Clojure Экспертная система по учету сотрудников на Lisp
Добрый день. Имеется экспертная система, написанная на Prolog мною в учебных целях в универе....

Ваша задача - рассчитать заработную плату для сотрудников с учетом следующих условий: Сотрудникам платят почасово
Ваша задача - рассчитать заработную плату для сотрудников с учетом следующих условий: Сотрудникам...

Ваша задача - рассчитать заработную плату для сотрудников с учетом следующих условий: Сотрудникам платят почасово
Ваша задача - рассчитать заработную плату для сотрудников с учетом следующих условий: Сотрудникам...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru