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

Реализовать расчет

20.09.2021, 17:55. Показов 537. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день подскажите либо накиньте идею реализации расчета. С командной строки вводится 3 числа к пример 1 2 3 . Первая цифра это метод расчета , второй какой цикл используется а третье это просто число. К примеру первое число указывает например рассчитать число по методу фабиначи, а второе число используя цикл while. Вопрос как можно оптимизировать это все. Конечно можно через switch но в каждом switch не будешь писать так :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
switch(int a){
  case(метод):{
      case(цикл):{
                    }
     case(цикл):{
                    }
     case(цикл):{
                    }
}
case(метод){
     case(цикл):{
                    }
     case(цикл):{
                    }
     case(цикл):{
                    }
}
}
Можно как то оптимизировать код
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2021, 17:55
Ответы с готовыми решениями:

Спроектировать и реализовать классы Налоговая Инспекция и Гражданин для расчет налоговых выплат
Налоговая инспекция, которая хранит информацию о всех гражданах в едином реестре (в массиве), планирует начислять по более низкой ставке...

Реализовать простой расчет
Добрый день! Подскажите, кто знает, мне необходимо реализовать простой расчет допустим есть данные double j=3.2, k=2.1, i=3.4; ...

Реализовать расчет себестоимости в БД и C#
Добрый день! Необходимо создать приложение для расчета примерной себестоимости. В БД Access находятся справочники материалов, их...

1
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
20.09.2021, 19:02
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
interface LoopType {
    void execute(int from, int to, int step, LoopValueHandler delegate);
 
    interface LoopValueHandler {
        void handleValue(int value);
    }
}
 
final class ForLoop implements LoopType {
    @Override
    public void execute(int from, int to, int step, LoopValueHandler delegate) {
        for(int i = from; i < to; i += step) {
            delegate.handleValue(i);
        }
    }
}
 
final class WhileLoop implements LoopType {
    @Override
    public void execute(int from, int to, int step, LoopValueHandler delegate) {
        int i = from;
        while (i < to) {
            delegate.handleValue(i);
            i += step;
        }
    }
}
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
interface CalculatorType <ReturnType> {
    ReturnType calculate(int value, LoopType loop) throws Exception;
}
 
final class FibonacciCalculator implements CalculatorType<Integer> {
 
    @Override
    public Integer calculate(int value, LoopType loop) throws Exception {
        if (value < 0) {
            throw new Exception(value + " is wrong argument");
        }
 
        if (value == 0 || value == 1) {
            return value;
        }
 
        AtomicInteger first = new AtomicInteger(0);
        AtomicInteger second = new AtomicInteger(1);
 
        loop.execute(2, value, 1, currentValue -> {
            int buffer = second.get();
            second.set(first.get() + second.get());
            first.set(buffer);
        });
        return first.get() + second.get();
    }
}
 
final class SumCalculator implements CalculatorType<Integer> {
    @Override
    public Integer calculate(int value, LoopType loop) throws Exception {
        if (value < 0) {
            throw new Exception(value + " is wrong argument");
        }
 
        AtomicInteger sum = new AtomicInteger(0);
        loop.execute(0, value, 1, currentValue -> sum.set(sum.get() + currentValue));
        return sum.get();
    }
}
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
public class Cyberforum {
 
    public static void main(String[] args) throws Exception {
        int calculatorTypeInput = /* Read input value */
        int loopTypeInput = /* Read input value */
        int valueInput = /* Read input value */
 
        try {
            CalculatorType calculator = provideCalculatorForInput(calculatorTypeInput);
            LoopType loop = provideLoopForInput(loopTypeInput);
 
            System.out.println("Result: " + calculator.calculate(valueInput, loop));
        } catch (Exception exception) {
            System.out.println(exception);
        }
    }
 
    private static CalculatorType provideCalculatorForInput(int input) {
        switch (input) {
            case 1:
                return new FibonacciCalculator();
            case 2:
                return new SumCalculator();
        }
        return null;
    }
 
    private static LoopType provideLoopForInput(int input) {
        switch (input) {
            case 1:
                return new ForLoop();
            case 2:
                return new WhileLoop();
        }
        return null;
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.09.2021, 19:02
Помогаю со студенческими работами здесь

Реализовать расчёт бонуса к зарплате
Cоздать базовый класс Employee и объявить следующее содержимое: • Три закрытых поля - название текстового поля (фамилия сотрудника),...

Реализовать расчет из матрицы по формуле
Доброго времени суток, новички, знатоки и профессионалы. Интересует ваш совет, как лучше реализовать расчет из 2-х мерного массива по...

Реализовать ассемблерной вставкой расчет формулы
День добрый пацаны,ребята (кому как нравиться)!!!! Кто может помогите прошу я в тупике необходимо реализовать формулу(напишу ниже) в...

необходимо реализовать расчет функции распределения
необходимо реализовать расчет функции распределения по размерам в программе маткад с использованием данных из приложения,если чего-то не...

Как реализовать данный цикл и расчет переменной?
как сделать так чтоб &quot;а&quot; получал сумму всех подходящих кабинетов по количеству мест, а количество мест вводил юзер(тоесть подсчитать...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru