/
SofiMut
/
petStore
Обзор
Документация
Войти
/
SofiMut
/
petStore
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/ru/netology/Administration.java
132 строки
4 KB
Sofia Stepanova
first_commit
21 ноя 2025, 18:25
21 ноя 2025, 18:25
74fc4a4
Код
Авторство
О чём код?
package ru.netology; import java.time.LocalTime; import java.util.Scanner; public class Administration implements Calc, Discount { private static final double MORNING_DISCOUNT = 0.1; Food food = new Food(); Accessories accessories = new Accessories(); Toys toys = new Toys(); Scanner scanner = new Scanner(System.in); private boolean isContinue = true; private int sumProducts; private double discount; public void scanProducts() throws Exception { System.out.println("Добро пожаловать в магазин доставки товаров для питомцев!"); try { while (isContinue) { System.out.println("\nВыберете категорию:" + "\n 1.Еда" + "\n 2.Аксессуары" + "\n 3.Игрушки" + "\n 0.Выход"); int input = scanner.nextInt(); switch (input) { case 0: isContinue = false; break; case 1: food.readProducts(); collectCart(food.storeCart, food.food, food.prices); break; case 2: accessories.readProducts(); collectCart(accessories.storeCart, accessories.accessory, accessories.prices); break; case 3: // ЗДЕСЬ СКИДКУ СЧИТАЕТ, НО НЕ ПОКАЗЫВАЕТ КЛИЕНТУ toys.readProducts(); collectCart(toys.storeCart, toys.toy, toys.prices); break; } } System.out.println("\nВаша корзина: "); } catch (Exception e) { System.out.println("\nОшибка! Введите число, соответствующее пункту меню!"); } } @Override public void bill() { double bill = calcCart(food.food, food.prices, food.storeCart) + calcCart(accessories.accessory, accessories.prices, accessories.storeCart) + calcCart(toys.toy, toys.prices, toys.storeCart); System.out.println("\nВаш счет: " + bill + "\nСпасибо за покупки! Ждем вас снова!"); } private void collectCart(int[] storeCart, String[] String, int[] ints) { System.out.println("\nВведите номер товара"); int productNumber = scanner.nextInt(); System.out.println("\nВведите количество товара"); int productCount = scanner.nextInt(); storeCart[productNumber - 1] += productCount; for (int i = 0; i < storeCart.length; i++) { if (storeCart[i] > 0) { System.out.println("\nВы купили: " + String[i] + " за " + (storeCart[i] * ints[i]) + " руб."); } } System.out.println("\n1. Продолжить покупки" + "\n0. Выход"); int input = scanner.nextInt(); if (input == 0) { isContinue = false; } } private int calcCart(String[] string, int[] ints, int[] storeCart) { sumProducts = 0; for (int i = 0; i < string.length; i++) { if (storeCart[i] > 0) { int currentPrice = ints[i] * storeCart[i]; sumProducts += currentPrice; System.out.printf("%s %d %d руб.шт; %d руб в сумме\n", string[i], storeCart[i], ints[i], currentPrice); } } if (discount > 0) { System.out.println("\nВаша скидка: " + discount + "руб."); } return (int) adjustPrice(sumProducts); } @Override public double adjustPrice(int sumProducts) { LocalTime currentTime = LocalTime.now(); if (currentTime.getHour() >= 7 && currentTime.getHour() <= 12) { discount = sumProducts * MORNING_DISCOUNT; double newPrice = sumProducts - discount; return newPrice; } return sumProducts; } }