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
4 changes: 4 additions & 0 deletions .idea/gradle.xml

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

113 changes: 70 additions & 43 deletions src/main/java/Calculate.java
Original file line number Diff line number Diff line change
@@ -1,68 +1,95 @@
import java.io.InputStream;
import java.util.Scanner;

public class Main {

public static void main(String[] args){


public static void main(String[] args) {
People.people();
}
public static class Calculate{
public static double count = 0;
public static double x;
public static String product1;

public static class Calculate {
public static double count = 0;// Изначально начинаем считать с 0
public static double sum; // это числа с двойной точностью, максимально приближённые к заданным
public static String productList; // Класс продакт лист объявили

public static void calculate() {
while(true){
Scanner scanner = new Scanner(System.in);
System.out.println("Введите продукт ");
String product = scanner.next();
product1 = product1 + " " + product;
while (true) { // Создаем цикл
Scanner scanner = new Scanner(System.in);// Создаем объект класса Scaner
System.out.println("Введите продукт ");//Ввод с клавиатуры
String product = scanner.next(); // Присваевыеам переменный ввод с клавиатуры
productList = productList + " " + product; // Список заказов (продуктов)
System.out.println("Введите стоимость рубли и копейки");
double cost = scanner.nextDouble();
System.out.println(product + " добавлено:)");
count = count + cost;
System.out.println("Стоимость плюс " + count);
try {
double cost = scanner.nextDouble();
System.out.println(product + " добавлено:)");
count = count + cost;
} catch (Exception ex) {
System.out.println("При вводе стоимости возникла следующая ошибка: " + ex.getMessage());
continue;
}

System.out.println("Стоимость плюс " + count);// Вывод поля + стоимость
System.out.println("Хотите добавить?");
String stop = scanner.next();
String stop1 = "Нет";

x = count / People.quest;
if (stop1.equalsIgnoreCase(stop)){
String stop1 = "Нет"; // При вводе нет конец цикла
sum = count / People.quest; // Делим общюю суммму на количество участников
if (stop1.equalsIgnoreCase(stop)) { //Условие при котором
Result.result();
return;
}
else {
continue;
}


}
}
}
public static class People{
public static int quest;
public static void people(){
while (true){
System.out.println("Как много у вас гостей?");

public static class People { // Создали класс
public static int quest; // Ввод переменной количества гостей

public static void people() {
while (true) {// Запускаем цикл
System.out.println("Как много у вас гостей?"); // Ввод с клавиатуры количества гостей
Scanner scanner = new Scanner(System.in);
quest = scanner.nextInt();
if (quest<= 1){
System.out.println("Плати сам за все!");
try {
quest = scanner.nextInt();
} catch (Exception ex) { // определяем блок кода в котором происходит обработка исключения
System.out.println("При вводе количества гостей возникла следующая ошибка: " + ex.getMessage());
continue;
}
else if (quest >= 2){
if (quest <= 1) {// При вводе 1 система выдаст ошибку
System.out.println("Плати сам за все!");
} else if (quest >= 2) { // Иначе наченаем "калькулировать", гостей
Calculate.calculate();
break;
}
}
}
}


public static class Result{
public static void result(){
System.out.println("Всего блюд заказано: " + Calculate.product1);
System.out.printf("Окончательный расчет: " + ":%.2f.\n",Calculate.count);
System.out.printf("Каждый должен заплатить: " + "%.2f",Calculate.x);



public static class Result {
public static String result() {// Ввводим класс результат
System.out.println("Всего блюд заказано: " + Calculate.productList); // Калькулируем заказаные блюда
System.out.printf("Окончательный расчет: " + ":%.2f\n", Calculate.count); // Вывод окончательного расчета с переносом строки
String suffix;
//double costGeneral = 0;
int num100 = (int) (Math.floor(Calculate.count % 100)); // Для определения суффикса)падежа) нужно проверить 1-2 последние числа.Возвращает блтжайщее число
if (num100 > 4 && num100 < 21) {// Условие если вывод больше 4 и менее 21 суффикс выводиться как "Рублей"
suffix = " Рублей";
} else { //Иначе если окончание на единицу то суффикс "Рубль"
int num10 = num100 % 10;
if (num10 == 1) {
suffix = " Рубль";
} else if (num10 > 1 && num10 < 5) { // Если больше 1 и меньше 5 выводит "Рубля"
suffix = " Рубля";
} else {
suffix = " Рублей";
System.out.printf("Каждый должен заплатить: " + "%.2f" + suffix, Calculate.sum);
}

}
return suffix; // Возвращаем
}
}

}