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

Поясните как работают некоторые части кода

30.05.2022, 19:18. Показов 393. Ответов 1

Студворк — интернет-сервис помощи студентам
Весь код вендинговой машины пожалуйста прокомментируйте роботу Enum Product и ChangeProduct.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.misha.project;
 
public class ChangeProduct {
 
    public static Product getSelected(int item){
        for (Product p : Product.values()) {
            if (p.getNumber() == item) {
                return p;
            }
        }
        return null;
    }
}
Java
1
2
3
4
5
6
7
8
package com.misha.project;
 
public class MenuProduct {
    public static void menu() {
        for (Product p : Product.values())
            System.out.println(p.getNumber() + ". " + "Product - " + p.getName() + " | Price - " + p.getPrice());
    }
}
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
package com.misha.project;
 
public enum Product {
    TWIX(1,40, "Twix"),
    SNICKERS(2,50, "Snickers"),
    WATER(3, 10, "Water"),
    JUICE(4, 60, "Juice");
 
    private int number;
    private int price;
    private String name;
 
    Product(int number, int price, String name) {
        this.number = number;
        this.price = price;
        this.name = name;
    }
 
    public int getNumber() {
        return number;
    }
 
    public int getPrice() {
        return this.price;
    }
 
    public String getName() {
        return this.name;
    }
}
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
package com.misha.project;
 
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.InputMismatchException;
import java.util.Scanner;
 
public class VendingMachine {
 
    private final static Logger logger = LogManager.getLogger(VendingMachine.class);
 
    public static void main(String[] args) {
 
        logger.info("Application launched");
 
        System.out.println("Vending machine");
        System.out.println("----------------");
        System.out.println("Product menu:");
 
        MenuProduct.menu();
 
        System.out.println("Choose a product");
 
        Scanner sc = new Scanner(System.in);
        try {
            int i = sc.nextInt();
            SelectionProduct.variableProduct(i);
            }
            catch (InputMismatchException e) {
                System.err.println("You didn't enter a number!");
                logger.error("The user entered a non-numeric value: " + e.getMessage());
        }
        finally {
            System.err.println("Completion of the program!");
        }
    }
}
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
package com.misha.project;
 
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Scanner;
 
public class SelectionProduct {
 
    private final static Logger logger = LogManager.getLogger(SelectionProduct.class);
 
    public static void variableProduct(int i){
 
        Product prod = ChangeProduct.getSelected(i);
 
        try {
            if (prod != null) {
                System.out.println("Product selected: " + prod.getName() + " Price: " + prod.getPrice());
                System.out.println("Deposit money");
 
                Scanner sc = new Scanner(System.in);
 
                double cash = sc.nextInt();
 
                if (cash < prod.getPrice()) {
                    System.out.println("Not enough money");
                    System.out.println("Refund " + cash);
                    logger.warn("Not enough money has been deposited by the user. Refund: " + cash);
                }
                if (cash == prod.getPrice()) {
                    System.out.println("Pick up the product");
                }
                if (cash > prod.getPrice()) {
                    double out = cash - prod.getPrice();
                    System.out.println("Pick up the product " + "Change " + out);
                }
            } else {
                throw new AssertionError();
            }
        }
        catch (AssertionError e) {
            System.err.println("There is no selection for this product.!");
            logger.error("There is no selection for this product.: " + e.getMessage());
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.05.2022, 19:18
Ответы с готовыми решениями:

Поясните по части кода
for (i = 0; i&lt;str; ++i) { for (j = 0; j&lt;stl - 1; ++j) if (arr == arr) kol_str++; } for (j = 0; j&lt;stl ; ++j) { ...

Как переделать некоторые части кода что-бы вышло так (картинка)
Public Sub Labdarbs_4() x = Val(InputBox(&quot;Ievadit rindu skaitu&quot;)) y = Val(InputBox(&quot;Ievadit kolonas skaitu&quot;)) ReDim a(x, y) ...

программа работает алгоритм работы понимаю только как некоторые фрагменты кода работают не понятно!
вопросы написал в комментариях посмотрите пожалуйста! using System; using System.Collections.Generic; using...

1
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
30.05.2022, 19:27
https://docs.oracle.com/javase... /enum.html

Добавлено через 35 секунд
https://docs.oracle.com/javase... /flow.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.05.2022, 19:27
Помогаю со студенческими работами здесь

пропускает некоторые части кода
//MAIN.CPP #define _CRT_SECURE_NO_WARNINGS //#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;confreader.h&quot; #include &quot;dna.h&quot; ...

Не понимаю некоторые части кода
Помогите к комментирование пожалуйста #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; void calculating(char* OPZSTR,...

Не работают совместно две правильные части кода
Сначала был код, который при наведении на меню добавлял цвет рамке элементам списка. Код работал хорошо. Ext.onReady(function() { var...

Есть код ( Программа на тему ( сложить и умножить матрицы ) Нужно исправить некоторые части кода
Ребят ошибка в том что я неправильно написал код ... Там где Умножение матриц писал код с книги ..., а где сложить сам ... Вот и...

Как работают два цикла for ? поясните код
кусочек кода :) for (int i=0; i&lt;n; i++) for (int j=i; j&lt;n; j++) if (A&gt;max) Переменная i стартует с 0, происходит проверка 0 меньше...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru