Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 18 additions & 0 deletions .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

68 changes: 68 additions & 0 deletions src/main/java/Calculate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import java.util.Scanner;

public class Calculate {

class Product {
String name;
float price;

void input() {
Scanner scanner = new Scanner(System.in);
System.out.println("Введите наименование товара");
name = scanner.next();

System.out.println("Введите стоимость товара в формате 'рубли.копейки'");
while (true) {
if (scanner.hasNextFloat()) {
price = scanner.nextFloat();
if (price < 0) {
System.out.println("Введено недопустимое значение. Введите целое число больше 0");
scanner.nextLine();
} else {
break;
}
} else {
System.out.println("Введено недопустимое значение. Введите целое число больше 0");
scanner.nextLine();
}
}
}
}

Product product = new Product(); // создали новый объект класса Product
float sum = 0.00f; // переменная для хранения суммы чека
String order = ""; // переменная для хранения перечня продуктов
Scanner scannerAdd = new Scanner(System.in);
int guests = CountOfGuests.countOfGuests(); // число гостей, на которых делим счет

public void bill() {
while (true) {
product.input();

order = order.concat(product.name).concat("\n");
sum = sum + product.price;

System.out.println("Товар успешно добавлен в калькулятор!");
System.out.println("Чтобы завершить добавление товаров введите команду Завершить.\n\nДля продолжения внесения товаров в калькулятор введите любое другое значение.");
String add = scannerAdd.next();
if (add.equalsIgnoreCase("Завершить")) {
System.out.println("Список товаров:\n" + order);
float guestDebt = sum / guests; // расчёт суммы для каждого гостя
if ((Math.floor(guestDebt) % 100 >= 11) && (Math.floor(guestDebt) % 100 <= 19)) {
String format = "Каждый гость должен: %.2f рублей";
System.out.println(String.format(format, guestDebt));
} else if (Math.floor(guestDebt) % 10 > 5) {
String format = "Каждый гость должен: %.2f рублей";
System.out.println(String.format(format, guestDebt));
} else if ((2 <= Math.floor(guestDebt) % 10) && (Math.floor(guestDebt) % 10 <= 4)) {
String format = "Каждый гость должен: %.2f рубля";
System.out.println(String.format(format, guestDebt));
} else {
String format = "Каждый гость должен: %.2f рубль";
System.out.println(String.format(format, guestDebt));
}
break;
}
}
}
}
28 changes: 28 additions & 0 deletions src/main/java/CountOfGuests.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import java.util.Scanner;

public class CountOfGuests {

static int count; // число гостей
static Scanner scanner = new Scanner(System.in);

public static int countOfGuests() {
System.out.println("Здравствуйте! На сколько человек необходимо разделить счет?");
while (true) {
if (scanner.hasNextInt()) {
int i = scanner.nextInt();
if (i == 1) {
System.out.println("Для одного гостя разбивать счёт нет необходимости. Введите другое число гостей");
} else if (i < 1) {
System.out.println("Гости не пришли. Платить некому. Введите другое число гостей.");
} else {
count = i; // запомнили число гостей
break;
}
} else {
System.out.println("Введите целое число");
scanner.nextLine();
}
}
return count;
}
}
8 changes: 4 additions & 4 deletions src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
public class Main {

public static void main(String[] args) {
// ваш код начнется здесь
// вы не должны ограничиваться только классом Main и можете создавать свои классы по необходимости
System.out.println("Привет Мир");

Calculate calculate = new Calculate();
calculate.bill();
}
}
}