Repository navigation
Expand file tree
/
Copy pathProductAndPrice.java
More file actions
53 lines (39 loc) · 1.91 KB
/
Copy pathProductAndPrice.java
File metadata and controls
53 lines (39 loc) · 1.91 KB
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
46
import java.util.Scanner;
class ProductAndPrice {
public double totalPrice = 0.00;
public void calculate() {
Scanner scanner = new Scanner(System.in);
String bill = "";
String stop = "Завершить";
while (true) {
System.out.println("Введите название товара:");
String productName = scanner.next();
System.out.println("Введите стоимость товара (стоимость должна быть в формате XX.XX (рубли.копейки)):");
double price = getProductPrice(scanner);
bill = bill.concat(productName).concat("\n");
System.out.println("Товар успешно добавлен в счет.");
totalPrice = totalPrice + price;
System.out.println("Хотите ли Вы добавить ещё один товар? Для того чтобы завершить процесс добавления товаров,напишите \"Завершить\".");
String answer = scanner.next();
if (answer.equalsIgnoreCase(stop)) {
System.out.println("Добавленные товары:" + "\n" + bill);
break;
}
}
}
double getProductPrice(Scanner scanner) {
while (true) {
if (scanner.hasNextDouble()) {
double price = scanner.nextDouble();
if (price <= 0) {
System.out.println("Стоимость должна быть >0. Введите стоимость товара еще раз.");
continue;
}
return price;
} else {
System.out.println("Преобразование к числу не получилось! Введите еще раз.");
scanner.next();
}
}
}
}