Бета версия
Объясни, что здесь делает программа?
Промпт
объясни, что здесь делает программа? import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Activity { private final String name; private final int quantity; private final LocalDate date; public Activity(String name, int quantity, LocalDate date) { this.name = name; this.quantity = quantity; this.date = date; } public int calculateCalories() { if (name.equals("steps")) { return quantity / 1000 * 50; } else if (name.equals("running")) { return (int) (quantity * 75); } else if (name.equals("strength training")) { return quantity * 9; } return 0; } public String toString() { return "Name: " + name + ", Quantity: " + quantity + ", Date: " + date; } } public class ActivityTracker { private final List activities; public ActivityTracker() { activities = new ArrayList<>(); } public void addActivity(String name, int quantity, LocalDate date) { activities.add(new Activity(name, quantity, date)); } public int getTotalCalories(LocalDate startDate, LocalDate endDate) { int totalCalories = 0; for (Activity activity : activities) { LocalDate activityDate = activity.getDate(); if (activityDate.isAfter(startDate) || activityDate.isEqual(startDate)) { if (activityDate.isBefore(endDate) || activityDate.isEqual(endDate)) { totalCalories += activity.calculateCalories(); } } } return totalCalories; } public void printActivities(LocalDate startDate, LocalDate endDate) { for (Activity activity : activities) { LocalDate activityDate = activity.getDate(); if (activityDate.isAfter(startDate) || activityDate.isEqual(startDate)) { if (activityDate.isBefore(endDate) || activityDate.isEqual(endDate)) { System.out.println(activity); } } } } public static void main(String[] args) { ActivityTracker tracker = new ActivityTracker(); Scanner scanner = new Scanner(System.in); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); while (true) { System.out.println("Enter activity (steps / running / strength training): "); String name = scanner.nextLine(); if (name.equals("exit")) { break; } System.out.println("Enter quantity: "); int quantity = Integer.parseInt(scanner.nextLine()); System.out.println("Enter date (yyyy-MM-dd): "); LocalDate date = LocalDate.parse(scanner.nextLine(), formatter); tracker.addActivity(name, quantity, date); } System.out.println("Enter start date (yyyy-MM-dd): "); LocalDate startDate = LocalDate.parse(scanner.nextLine(), formatter); System.out.println("Enter end date (yyyy-MM-dd): "); LocalDate endDate = LocalDate.parse(scanner.nextLine(), formatter); int totalCalories = tracker.getTotalCalories(startDate, endDate); System.out.println("Total calories burned: " + totalCalories); System.out.println("Activities during the specified period:"); tracker.printActivities(startDate, endDate); scanner.close(); } }
Ответ GigaChat
Эта программа представляет собой трекер активности, который позволяет пользователю отслеживать свои ежедневные физические занятия и подсчитывать количество сожженных калорий. Программа использует класс Activity для представления каждой активности пользователя, включая ее название (name), количество выполнений (quantity) и дату (date). Класс ActivityTracker отвечает за добавление новых активностей в список, а также за расчет общего количества сожженных калорий за определенный период времени. Пользователь может ввести данные о названии, количестве и дате активности, а программа будет выводить общую сумму сожженных калорий и список всех активностей в указанный период времени.
Как вам промпт?
Попробуйте GigaChat
Общение с GigaChat 2.0
Ввод голосом и озвучивание ответа
Поиск по интернету
Создание картинок
Работа с файлами
Создание открыток
Распознавание изображений
Умный редактор текста
Смотрите также
Приведи
примеры, какие операции может выполнить HashMap в Java?
HashMap в Java может выполнять следующие операции:1. Поиск значения по ключу: HashMap использует хэш-функцию для преобразования ключа в индекс массива, где хранится значение. Если значение уже существует в HashMap, то оно будет возвращено сразу же. Если значение не найдено, то будет выброшено исключение KeyNotFoundException.2. Добавление элемента: новый элемент добавляется в HashMap с помощью метода put(). Метод put() принимает ключ и значение в качестве аргументов и добавляет их в HashMap. Если элемент уже существует в HashMap, то он будет заменен на новое значение.3. Удаление элемента: элемент удаляется из HashMap с помощью метода remove(). Метод remove() принимает ключ в качестве аргумента и удаляет соответствующий элемент из HashMap. Если элемент не найден, то будет выброшено исключение KeyNotFoundException.4. Обновление элемента: если элемент уже существует в HashMap, то его значение можно обновить с помощью метода put(). Метод put() принимает ключ и новое значение в качестве аргументов и заменяет старое значение на новое.5. Проверка наличия элемента: метод containsKey() проверяет наличие ключа в HashMap. Если ключ существует, то метод возвращает true, иначе — false.6. Проверка пустоты: метод isEmpty() проверяет, является ли HashMap пустой. Если HashMap пуста, то метод возвращает true, иначе — false.
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.