forked from Yandex-Practicum/Java-Module-Project-YP
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
115 lines (96 loc) · 4.81 KB
/
Main.java
File metadata and controls
115 lines (96 loc) · 4.81 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
«Калькулятор счёта» — консольное приложение,
которое будет задавать вопросы в консоли,
считывать пользовательский ввод
и в результате показывать
список товаров и сумму для каждого из друзей.
*/
import java.util.Scanner;
public class Main {
private static final Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
/*
После запуска программа должна спрашивать у пользователя,
на скольких человек необходимо разделить счёт.
*/
int k;
System.out.println("Укажите, на скольких человек делим счет:");
if (scanner.hasNextInt()) {
k = scanner.nextInt();
while (k <= 1) {
System.out.println("Количество человек должно быть больше 1, укажите другое значение:");
if (scanner.hasNextInt()) {
k = scanner.nextInt();
} else {
System.out.println("Укажите количество целой цифрой, без этого калькулятор не будет работать."); return;
}
}
System.out.println("Замечательно! Количество человек - " + k +"\n\nТеперь укажи товары и их цены. Или напиши 'завершить' для рассчета.");
} else {
System.out.println("Укажите количество целой цифрой, без этого калькулятор не будет работать."); return;
}
/*
класс - в итоге вынесла отдельно, тк должен быть класс кроме Main
class Sku {
String name; //название товара
double price; //цена товара
public static int goodsCount;
//теперь делаем конструктор для товара
Sku(String nameSKU, double priceSKU){
name = nameSKU;
price = priceSKU;
goodsCount++;
}
}
*/
String end = "завершить";
String text = "";
Double pr = 0.0;
String list = "";
Double sum = 0.0;
while (!text.equalsIgnoreCase(end)) {
System.out.println("Товар, например, 'Тыквенный раф' -");
scanner.nextLine();
text = scanner.nextLine();
if (text.equalsIgnoreCase(end)) {break;}
list = list + "\n" + text;
System.out.println(text + " - записали\n");
System.out.println("Цена, например, '150,10' - ");
if (scanner.hasNextDouble()) {
pr = scanner.nextDouble();
while (pr < 0) {
System.out.println("!! Цена должна быть положительным числом. Укажите новую цену.");
pr = 0.0;
pr = scanner.nextDouble();
}
sum = sum + pr;
System.out.println(pr + " - ок, посчитали\n");
} else {
System.out.println("!! Укажите цену цифрами, для разделения используй запятую.\nНазвание товара укажи заново.\n");
}
Sku sku = new Sku(text, pr);
}
if (list.equals("")) {
System.out.println("Ничего не заказано"); return;
}
System.out.println("\n****\nСписок всех товаров:" + list.substring(0, list.length()) + "\n");
System.out.println("Общая сумма: " + sum + " Количество человек: " + k + "\n");
Double pay = sum / k;
String payment = String.format("%.2f", pay);
String rub = "";
switch (payment.substring(payment.length()-4,payment.length()-3)) {
case "1":
rub = "рубль";
break;
case "2":
case "3":
case "4":
rub = "рубля";
break;
default:
rub = "рублей";
break;
}
System.out.println("Сумма на каждого: " + payment + " " + rub + "\n****");
}
}