Skip to content

Первое задание#1

Open
ShinEkaterina wants to merge 5 commits intomainfrom
master
Open

Первое задание#1
ShinEkaterina wants to merge 5 commits intomainfrom
master

Conversation

@ShinEkaterina
Copy link
Copy Markdown
Owner

No description provided.

stopEnterProduct = true;
} else {
// Пользователь вводит стоимость товара для подсчета
while (!stopEnterPrice){
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Также можно сделать бесконечный цикл

continue;
}
Product product = new Product(productName, productPrice);
calculator.addProduct(product);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Можно добавлять в список сразу при добавлении в список:
calculator.addProduct(new Product(productName, productPrice));

// Пользователь вводит наименование и стоимость товара для подсчета
boolean stopEnterProduct = false;
boolean stopEnterPrice = false;
while (!stopEnterProduct){
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Можно ещё сделать бесконечный цикл while(true), а в if(productName.equalsIgnoreCase("завершить")) выходить из цикла при помощи break. Тогда отпадет необходимость дальнейшие действия заворачивать в else + не будем создавать дополнительную переменную stopEnterProduct.

else if (Math.floor(sumToPay) == 2 || Math.floor(sumToPay) == 3 || Math.floor(sumToPay) == 4)
System.out.println(String.format("Каждый должен заплатить по %.2f рубля",sumToPay));
else
System.out.println(String.format("Каждый должен заплатить по %.2f рублей",sumToPay));
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Строка ""Каждый должен заплатить по %.2f" встречается несколько раз в программе, имеет смысл вынести её в отдельную переменную и затем к ней прибавлять рубли в нужном виде. Основное преимущество такого подхода - при необходимости поменять текст надо будет поменять только текст в переменной без риска что-нибудь забыть

}
}
}
System.out.println("Добавленные товары:");
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Имеет смысл выносить такие большие логические фрагменты в отдельные методы по примеру метода getPersonNumber(). Это делает программу больше удобочитаемой, когда разнородная логика не смешивается в один сплошной код.

totalPrice += item.price;
cart = cart + "\n" + item.name;
public void addProduct(Product product){
this.sum = this.sum + product.getPrice();
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Можно ещё обойтись без this. (хотя и такие варианты встречаются), а также использовать конструкцию sum += product.getPrice();

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants