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
8 changes: 0 additions & 8 deletions src/main/java/Main.java

This file was deleted.

21 changes: 21 additions & 0 deletions src/main/java/vvverman/lesson1/App.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package vvverman.lesson1;

import vvverman.lesson1.entity.Product;
import vvverman.lesson1.services.CalculatorService;
import vvverman.lesson1.services.FormatorService;
import vvverman.lesson1.services.ProductService;

import java.util.List;


public class App {

public static void main(final String[] args) {
List<Product> products = ProductService.getProducts();
double invoice = ProductService.getSumProducts(products);
double sumForPersons = CalculatorService.getSumForPersons(invoice);
System.out.println(FormatorService.getRubleAddition(sumForPersons));


}
}
45 changes: 45 additions & 0 deletions src/main/java/vvverman/lesson1/entity/Product.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package vvverman.lesson1.entity;

import java.util.Objects;

public class Product {
String name;
double price;

@Override
public String toString() {
return "Product{" +
"name='" + name + '\'' +
", price=" + price +
'}';
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Product product = (Product) o;
return Double.compare(product.price, price) == 0 && name.equals(product.name);
}

@Override
public int hashCode() {
return Objects.hash(name, price);
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public double getPrice() {
return price;
}

public void setPrice(double price) {
this.price = price;
}
}
45 changes: 45 additions & 0 deletions src/main/java/vvverman/lesson1/services/CalculatorService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package vvverman.lesson1.services;

import java.util.Scanner;

public class CalculatorService {
public static double getSumForPersons(double sum) {

double total = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("На сколько персон разделить счёт, Господа?");
while (scanner.hasNextInt()) {
int numberOfPersons = scanner.nextInt();
if (numberOfPersons == 1) {
System.out.println("Ошибка, на одного делить нет смысла");
} else if (numberOfPersons < 1) {
System.out.println("Ошибка, на 0, вообще, делить незя, и антиматерия в нашей задаче не участвует");
} else {
total = sum / numberOfPersons;
break;
}
System.out.println("Попробуй ещё раз");
}
return total;
}

}


// public static int countPersons(int number) {
//
// while (scanner.hasNextInt()) {
//
//
// if (number == 1) {
// System.out.println("Ошибка, на одного делить нет смысла");
// } else if (number < 1) {
// System.out.println("Ошибка, на 0, вообще, делить незя, и антиматерия в нашей задаче не участвует");
// } else if (number > 1) {
// total = count / number;
//
// double value = total;
// String result = String.format("%.2f", value);
//
// }
// }
23 changes: 23 additions & 0 deletions src/main/java/vvverman/lesson1/services/FormatorService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package vvverman.lesson1.services;

public class FormatorService {

public static String getRubleAddition(double formattedResult) {


int lastCharacter = (int) (Math.floor(formattedResult) % 10);
String result = String.format("%.2f", formattedResult);
switch (lastCharacter) {

case 1:
return result + " рубль";
case 2:
case 3:
case 4:
return result + " рубля";
default:
return result + " рублей";

}
}
}
49 changes: 49 additions & 0 deletions src/main/java/vvverman/lesson1/services/ProductService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package vvverman.lesson1.services;

import vvverman.lesson1.entity.Product;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class ProductService {

public static List<Product> getProducts() {
ArrayList<Product> products = new ArrayList<>();
boolean whileCondition = false;
while (!whileCondition) {
Scanner scanner = new Scanner(System.in);
Product product = new Product();
System.out.println("Введите имя товара");
product.setName(scanner.nextLine());

System.out.println("Введите цену товара");
product.setPrice(scanner.nextDouble());

products.add(product);
System.out.println("Напишите \"завершить\", чтобы завершить");

String command = scanner.next();
whileCondition = command.equalsIgnoreCase("завершить");


}

System.out.println("Добавленные товары:\n ");
for (Product product : products) {
System.out.println(product.toString());

}
System.out.println("Общая сумма товаров: " + getSumProducts(products));
return products;
}

public static double getSumProducts(List<Product> products) {
double count = 0.0;
for (Product product : products) {
count = count + product.getPrice();
}

return count;
}
}