Skip to content
This repository was archived by the owner on Apr 14, 2025. It is now read-only.

Conversation

@PapaRimsky
Copy link
Owner

Классы:
main-начало, создание объектов каждого класса и вывод
item-ввод данных товара с консоли
calculate-сложение
format-проверка на последнюю цифру в числе и преобразование числа

import java.util.Scanner;
public class Item {

Scanner scanner = new Scanner(System.in);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Лучше переиспользовать инстанс сканнера, а не создавать каждый раз новый, можно передать сюда в конструкторе

}
}
System.out.println("Итог - "+formatter.price(calculate.finalPrice));
System.out.print("Сумма с каждого - "+formatter.price(calculate.finalPrice/(float)countPerson)+" ");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В таких случаях для вывода лучше использовать System.out.printf, ему можно передать параметры, которые будут поставлены в строку.

public class Format {
String line="";
String ruble(float numb){
int i = (int)Math.floor(numb);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

По сути здесь достаточно приведения к int, потому что оно делает тоже самое что и Math.floor, только еще и делает приведение типа

String ruble(float numb){
int i = (int)Math.floor(numb);
if(i<21){
compare(i);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Немного некорректно рассчитывается окончание. Получается если цена будет 114 рублей, метод вернет рубля. Правильный алгоритм звучит так - Проверить лежит ли остаток от деления на 100 в интервале от 11 до 14 включительно, если да, то возвращаем рублей, если нет, то берем остаток от деления на 10 и проверяем - если 1, то рубль, 2-4 то рубля, в остальных случаях - рублей. То есть нужно во-первых проверять именно остаток от деления, во-вторых учесть, что числа заканчивающиеся на 11-12-13-14 и заканчивающиеся на 1-2-3-4, будут иметь разные окончания

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants