Repository navigation
Expand file tree
/
Copy pathAddTovarAndSave.java
More file actions
56 lines (49 loc) · 2.15 KB
/
Copy pathAddTovarAndSave.java
File metadata and controls
56 lines (49 loc) · 2.15 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
47
48
49
50
51
52
53
54
55
56
import java.util.ArrayList;
import java.util.InputMismatchException;
import java.util.List;
import java.util.Scanner;
class AddTovarAndSave {
List<TovarAndPrice> spisokTovarov;
public AddTovarAndSave() {
spisokTovarov = new ArrayList<>();
}
public void addBludo (Scanner scanner) {
System.out.println("Добавить блюдо или напиток: ");
while (true) {
System.out.println("Введите название товара (или нажмите 'Завершить'): ");
String bludoName = scanner.next();
if (bludoName.equalsIgnoreCase("Завершить")) {
break;
}
if (!bludoName.matches("[a-zA-Zа-яА-Я]+")) {
System.out.println("У нас в ресторане все названия блюд пишутся буквами, введите еще раз: ");
continue;
}
double bludoPrice = -1;
boolean noPrice = false;
while (!noPrice) {
System.out.println("Введите цену: ");
try {
bludoPrice = scanner.nextDouble();
noPrice = bludoPrice >= 0;
} catch (InputMismatchException e) {
System.out.println("Ввод осуществляется только цифрами, попробуйте еще раз");
scanner.next();
}
}
if (bludoPrice < 0) {
System.out.println("Похоже вы ошиблись с вводом, попробуйте еще раз" +
"а то вы хотите, чтоб за товар заплатили ВАМ:-) ");
continue;
}
spisokTovarov.add(new TovarAndPrice(bludoName, bludoPrice));
System.out.println("Товар добавлен");
}
}
public double getAllSumma() {
return spisokTovarov.stream().mapToDouble(TovarAndPrice::getTovarPrice).sum();
}
public List<TovarAndPrice> getAddedTovars() {
return spisokTovarov;
}
}