Repository navigation
Expand file tree
/
Copy pathMain.java
More file actions
105 lines (98 loc) · 4.31 KB
/
Copy pathMain.java
File metadata and controls
105 lines (98 loc) · 4.31 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
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Добро пожаловать в приложение 'Калькулятор счета'.");
Scanner sc = new Scanner(System.in);
System.out.println("На сколько человек необходимо разделить счёт?");
int numberOfPeople;
while (true) {
System.out.println("Введите целое число, больше единицы:");
if (sc.hasNextInt()) {
numberOfPeople = sc.nextInt();
if (numberOfPeople > 1) {
System.out.println("Счет будет разделен на "+numberOfPeople);
break;
} else if (numberOfPeople == 1) {
System.out.println("На одного счет делить не будем :)");
}
System.out.println("Пожалуйста введите корректное значение.");
}
sc.nextLine();
}
System.out.println("Теперь введите название товара и его стоимость");
Calculator.dobavimImyaProducta();
Calculator.dobavimStoimist ();
String answer = null;
while (true){
System.out.println("хотите добавить еще продукты введите любой символ? Если нет, напишите Завершить");
Scanner sca = new Scanner(System.in);
answer=sca.nextLine();
if (answer.equalsIgnoreCase("Завершить")) {
System.out.println("Добавленные товары:");
Iterator<String> iterator = Calculator.spisocImen.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
break;
}else {
Calculator.dobavimImyaProducta();
Calculator.dobavimStoimist ();}
}
Calculator.sumFinish(numberOfPeople);
}
}
class Calculator {
static ArrayList<String> spisocImen = new ArrayList<>();
public static void dobavimImyaProducta() {
Scanner sc = new Scanner(System.in);
System.out.println("Введите наименование товара: ");
String X1 = sc.nextLine();
spisocImen.add(X1);
System.out.printf("Товар %s добавлен в список.", X1);
}
static ArrayList<Float> spisocCen = new ArrayList<>();
public static void dobavimStoimist() {
Scanner sc = new Scanner(System.in);
float cost;
while (true) {
System.out.println("\nВведите цену товара: ");
while (!sc.hasNextFloat()) {
System.out.println("Ошибка!");
sc.next();
}
cost = sc.nextFloat();
while (cost <= 0) {
System.out.println("Ошибка! Введено отрицательное значение или 0.");
cost = Float.parseFloat(sc.next());
}
spisocCen.add(cost);
System.out.println("Цена товара добавлена в список.");
break;
}
}
public static void sumFinish(int numberOfPeople) {
float sum = 0;
for (int i = 0; i < spisocCen.size(); i++) {
sum = sum + spisocCen.get(i);
}
float sumFinal = sum / numberOfPeople;
System.out.printf("Каждый должен заплатить %.2f %s",sumFinal,rubl(sumFinal));
}
static Object rubl(float sumFinal) {
int lastDigit = (int) (sumFinal % 10);
int lastTwoDigits = (int) (sumFinal % 100);
if (lastTwoDigits >= 11 && lastTwoDigits <= 14) {
return "рублей";
}
if (lastDigit == 1) {
return "рубль";
}
if (lastDigit >= 2 && lastDigit <= 4) {
return "рубля";
}
return "рублей";
}
}