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

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

double totalCost = 0.00;
void calculate (){

String productName;
StringBuilder allProducts = new StringBuilder();
while (true) {
System.out.println("Желаете добавить товар?\nВведите его название или слово \"завершить\" для разделения счета: ");

productName = scanner.nextLine();


if (productName.equalsIgnoreCase("завершить")) {
System.out.println("Все добавленные товары: ");
System.out.println(allProducts);
int totalCostInt = (int) totalCost;
int lastDigit = totalCostInt % 10;
int lastTwoDigits = totalCostInt % 100;
if (lastTwoDigits >= 11 && lastTwoDigits <= 20) {
System.out.println("Сумма всех товаров: " + totalCost + " рублей");
} else if (lastDigit == 1) {
System.out.println("Сумма всех товаров: " + totalCost + " рубль");
} else if (lastDigit >= 2 && lastDigit <= 4) {
System.out.println("Сумма всех товаров: " + totalCost + " рубля");
} else {
System.out.println("Сумма всех товаров: " + totalCost + " рублей");
}

break;
} else if(productName.isEmpty()) {
System.out.println("Ошибка, строка пустая, пожалуйста повторите попытку.");

} else {
System.out.println("Введите стоимость товара в формате \"рубли,копейки\": ");
if (scanner.hasNextDouble()) {
double productCost = scanner.nextDouble();
if (productCost > 0) {
scanner.nextLine();
System.out.println("Товар успешно добавлен!");
totalCost += productCost;
int totalCostInt = (int) totalCost;
int lastDigit = totalCostInt % 10;
int lastTwoDigits = totalCostInt % 100;
if (lastTwoDigits >= 11 && lastTwoDigits <= 20) {
System.out.println("Текущая сумма добавленных товаров: " + totalCost + " рублей");
} else if (lastDigit == 1) {
System.out.println("Текущая сумма добавленных товаров: " + totalCost + " рубль");
} else if (lastDigit >= 2 && lastDigit <= 4) {
System.out.println("Текущая сумма добавленных товаров: " + totalCost + " рубля");
} else {
System.out.println("Текущая сумма добавленных товаров: " + totalCost + " рублей");
}
allProducts.append(productName).append("\n");
} else {
System.out.println("Введено ошибочное значение (возможно ваше значение равно нулю, либо оно отрицательное), пожалуйста повторите попытку.");
scanner.nextLine();
}
} else {
System.out.println("Введено ошибочное значение, пожалуйста повторите попытку (возможно вы ввели значение с точкой, а не запятой, необходимо вводить с запятой).");
scanner.nextLine();
}
}

}




}
}

46 changes: 45 additions & 1 deletion src/main/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,50 @@
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
Scanner scanner = new Scanner(System.in);
Calculator insaf = new Calculator();


System.out.println("Добро пожаловать в приложение \"Раздели счет\"");
System.out.println("На сколько человек необходимо разделить счет?");

int people;
double splitSum;

while (true) {

if (scanner.hasNextInt()) {
people = scanner.nextInt();
if (people > 1) {
insaf.calculate();
splitSum = insaf.totalCost / people;
int splitSumInt = (int) splitSum;
int lastDigit = splitSumInt % 10;
int lastTwoDigits = splitSumInt % 100;
if (lastTwoDigits >= 11 && lastTwoDigits <= 20) {
System.out.println("Сумма на каждого человека: " + splitSum + " рублей");
} else if (lastDigit == 1) {
System.out.println("Сумма на каждого человека: " + splitSum + " рубль");
} else if (lastDigit >= 2 && lastDigit <= 4) {
System.out.println("Сумма на каждого человека: " + splitSum + " рубля");
} else {
System.out.println("Сумма на каждого человека: " + splitSum + " рублей");
}
break;

} else if (people == 1) {
System.out.println("Введено ошибочное значение (не получится поделить счет на одного человека), пожалуйста повторите попытку");// Смысла делить счет нет одному человеку

} else
System.out.println("Введено ошибочное значение, пожалуйста повторите попытку");// Смысла делить счет нет, если никого нет

} else {
System.out.println("Введено ошибочное значение, пожалуйста повторите попытку");
}
scanner.nextLine();


}
}
}