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
25 changes: 25 additions & 0 deletions src/main/java/Calculator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import java.util.Scanner;

public class Calculator {
static Scanner scanner = new Scanner(System.in);

public static void calculator() {
System.out.println("Введите название товара");
String nameProduct = scanner.next();
Main.amountProducts = Main.amountProducts + 1;
Main.listProducts = Main.listProducts + "\n" + nameProduct;
System.out.println("Введите стоимость товара в формате в рубли и копейки. Образец 11.11");
double price = scanner.nextDouble();
while (price < 0) {
System.out.println("Ошибка! У товара не может быть отрицательной стоимости. Повторите ввод цены.");
price = scanner.nextDouble();
}
Main.totalPrice = Main.totalPrice + price;
System.out.println("Товар добавлен.\nДля продолжения введите любой символ и нажмите Enter. " +
"\nЕсли хотите завершить процесс добавления товара введите 'Завершить'");
String input = scanner.next();
if (!input.equalsIgnoreCase("завершить")){
calculator();
}
}
}
30 changes: 28 additions & 2 deletions src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,32 @@

import java.util.Scanner;
import java.util.InputMismatchException;
public class Main {
static int amountPeople=0; // количество людей
static double totalPrice = 0; // итоговая стоимость товаров
static int amountProducts= 0; // количество товаров
static String listProducts = ""; // список товаров
static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
System.out.println("Hello world!");

while (amountPeople <= 1) {
try {
System.out.println("Введите количество человек:");
amountPeople = scanner.nextInt();

if (amountPeople == 1) {
System.out.println("Нет смысла делить счет, укажите другое значение.");
} else if (amountPeople < 1) {
System.out.println("Ошибка: некорректное значение для подсчёта.");
}
} catch (InputMismatchException e) {
System.out.println("Ошибка: некорректный формат ввода. Введите целое число.");
scanner.nextLine();
}
}
Calculator.calculator();
System.out.printf("Сумма которую необходимо поделить равна: %.2f\n", totalPrice);
System.out.println("Количество человек: " + amountPeople + "\n" + "Количество добавленных товаров: "+
amountProducts + "\n" + "Добавленные товары:" + listProducts);
SplitCheck.formatter();
}
}
28 changes: 28 additions & 0 deletions src/main/java/SplitCheck.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
public class SplitCheck {
public static void formatter(){
double split = Main.totalPrice / Main.amountPeople;
String format = "Каждый человек должен заплатить поровну, а именно: %.2f %s";
int roundedSplit = (int)Math.floor(split);
int preLastDigit = roundedSplit % 100 / 10;
int lastDigit = roundedSplit % 10;
if (preLastDigit == 1){
String rubles = "рублей";
System.out.println(String.format(format, split, rubles));
} else {
String rubles;
switch (lastDigit) {
case 1:
rubles = "рубль";
break;
case 2:
case 3:
case 4:
rubles = "рубля";
break;
default:
rubles = "рублей";
break;
}System.out.println(String.format(format, split, rubles));
}
}
}