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.

9 changes: 9 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.

79 changes: 79 additions & 0 deletions src/main/java/Calculate.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import java.util.Scanner;
class Calculate {
String names;
float sum;
Scanner scanner = new Scanner(System.in);

public void calculate(int number) {
if (number == 1) {
System.out.println("Расслабьтесь, Вам не нужен калькулятор! Мой коллега просто принесет Вам счёт.");
} else {
names = "";
System.out.println("Для завершения программы введите слово \"Завершить\".\nПожалуйста, введите название продукта.");
String name = scanner.next();
if (name.equalsIgnoreCase("Завершить")) {
System.out.println("Простая прогулка с хорошей компаней всегда полезна для здоровья :)");
} else {
countAndCalculate(name);
getResult();
getResultForEach(number);
}
System.out.println("Спасибо, что заглянули! Приходите ещё!");
}
}

public void getResultForEach (int n){
float split = sum/(float) n;
System.out.println(String.format("Каждому надо заплатить: %.2f%s.",split, rightRubles(split)));
}

public void getResult(){
System.out.println("Добавленные товары: " + names);
System.out.println(String.format("Вы набрали продуктов на сумму: %.2f%s", sum, rightRubles(sum)));
}

public void countAndCalculate(String name){
while (!(name.equalsIgnoreCase("Завершить"))) {
names = names + "\n" + name;
System.out.println("Введите стоимость товара в формате:\"'рубли.копейки' [10.45, 11.40]\".");
while (true) {
if (scanner.hasNextDouble()) {
float price = scanner.nextFloat();
sum = sum + price;
System.out.println("Вы успешно добавили " + name + " в корзину.");
System.out.println(String.format("Промежуточный итог: %.2f%s.", sum, rightRubles(sum)));
System.out.println("Пожалуйста, введите название следущего продукта.\n*если Вы уже взяли всё что хотели, то введите \"Завершить\"");
name = scanner.next();
break;
} else {
System.out.println("Стоимость товара принимается только в формате:\"'рубли.копейки' [10.45, 11.40]\".\nПопробуйте еще раз.");
scanner.next();
}
}
}
}

public String rightRubles(float a) {
String rub;
int theLastTwoNumbers = (int) Math.floor(a)%100;
int theLastNumber = (int) Math.floor(a)%10;
if (theLastTwoNumbers >= 11 && theLastTwoNumbers <= 20){
rub = " рублей";
} else {
switch (theLastNumber){
case 1:
rub = " рубль";
break;
case 2:
case 3:
case 4:
rub = " рубля";
break;
default:
rub = " рублей";
break;
}}
return rub;
}

}
28 changes: 28 additions & 0 deletions src/main/java/CountBuyers.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import java.util.Scanner;
class CountBuyers {
int number;

public int countBuyers() {
Scanner scanner = new Scanner(System.in);
System.out.println("Здравствуйте!");
System.out.println("На сколько человек необходимо разделить счёт?");
while(true){
if (scanner.hasNextInt()) {
number = scanner.nextInt();
if (number > 1) {
System.out.println("Отлично! Давайте посчитаем.");
break;
} else if (number == 1){
break;
} else {
System.out.println("Ноль и отрицательные числа недопустимы. Введите натуральное число.");
}
} else{
System.out.println("Для ввода количества используйте вместо букв цифры. Попробуйте еще раз.");
}
scanner.nextLine();
}
return number;
}

}
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("Привет Мир");
CountBuyers countBuyers = new CountBuyers();
Calculate calculate = new Calculate();
int number = countBuyers.countBuyers();
calculate.calculate(number);
}
}