diff --git a/src/main/java/com/softserveinc/task01/CoffeeMachineV1.java b/src/main/java/com/softserveinc/task01/CoffeeMachineV1.java new file mode 100644 index 0000000..8b796c4 --- /dev/null +++ b/src/main/java/com/softserveinc/task01/CoffeeMachineV1.java @@ -0,0 +1,17 @@ +package com.softserveinc.task01; + +public class CoffeeMachineV1 extends AbstractCoffeeMachine { + public CoffeeMachineV1(int coffeeBeanStorageCapacity, int waterReservoirCapacity, int wasteCoffeeBeanCapacity) { + super(coffeeBeanStorageCapacity, waterReservoirCapacity, wasteCoffeeBeanCapacity); + } + + @Override + public boolean makeEspresso() { + return makeCoffee(22, 30); + } + + @Override + public boolean makeAmericano() { + return makeCoffee(22, 100); + } +} diff --git a/src/main/java/com/softserveinc/task01/Main.java b/src/main/java/com/softserveinc/task01/Main.java index b23886d..b93bd74 100644 --- a/src/main/java/com/softserveinc/task01/Main.java +++ b/src/main/java/com/softserveinc/task01/Main.java @@ -5,17 +5,17 @@ */ public class Main { public static void main(String[] args) { - // TODO: Uncomment code bellow after the class CoffeeMachineV1 have been created -// AbstractCoffeeMachine coffeeMachine = new CoffeeMachineV1(200, 5000, 400); -// coffeeMachine.on(); -// coffeeMachine.addWater(1000); -// coffeeMachine.addCoffeeBeans(200); -// if (coffeeMachine.makeAmericano()) { -// System.out.println("Drink Americano"); -// } -// if (coffeeMachine.makeEspresso()) { -// System.out.println("Drink Espresso"); -// } -// coffeeMachine.off(); + + AbstractCoffeeMachine coffeeMachine = new CoffeeMachineV1(200, 5000, 400); + coffeeMachine.on(); + coffeeMachine.addWater(1000); + coffeeMachine.addCoffeeBeans(200); + if (coffeeMachine.makeAmericano()) { + System.out.println("Drink Americano"); + } + if (coffeeMachine.makeEspresso()) { + System.out.println("Drink Espresso"); + } + coffeeMachine.off(); } } diff --git a/src/main/java/com/softserveinc/task02/CoffeeMachineV2.java b/src/main/java/com/softserveinc/task02/CoffeeMachineV2.java new file mode 100644 index 0000000..7ee3e7d --- /dev/null +++ b/src/main/java/com/softserveinc/task02/CoffeeMachineV2.java @@ -0,0 +1,42 @@ +package com.softserveinc.task02; + +import com.softserveinc.task01.CoffeeMachineV1; + +public class CoffeeMachineV2 extends CoffeeMachineV1 { + protected final int milkReservoirCapacity; + + private int milk; + + public CoffeeMachineV2(int coffeeBeanStorageCapacity, int waterReservoirCapacity, int wasteCoffeeBeanCapacity, int milkReservoirCapacity) { + super(coffeeBeanStorageCapacity, waterReservoirCapacity, wasteCoffeeBeanCapacity); + this.milkReservoirCapacity = milkReservoirCapacity; + } + + public void addMilk(int milk) { + this.milk = Math.min(this.milk +milk, milkReservoirCapacity); + } + + public int getMilk() { + return milk; + } + + private boolean makeCoffeeWithMilk (int milk) { + if (!makeEspresso()) { + return false; + } + if (milk > this.milk) { + System.out.println("Not enough milk"); + return false; + } + this.milk -= milk; + return true; + } + + public boolean makeCappuccino() { + return makeCoffeeWithMilk(85); + } + + public boolean makeLatte() { + return makeCoffeeWithMilk(150); + } +} diff --git a/src/main/java/com/softserveinc/task02/Main.java b/src/main/java/com/softserveinc/task02/Main.java index 7422345..b6cf859 100644 --- a/src/main/java/com/softserveinc/task02/Main.java +++ b/src/main/java/com/softserveinc/task02/Main.java @@ -5,25 +5,25 @@ */ public class Main { public static void main(String[] args) { - // TODO: Uncomment code bellow after the class City have been created -// CoffeeMachineV2 coffeeMachineV2 = new CoffeeMachineV2(1000, 5000, 5000, 1000); -// -// coffeeMachineV2.on(); -// coffeeMachineV2.addWater(1000); -// coffeeMachineV2.addCoffeeBeans(200); -// coffeeMachineV2.addMilk(1000); -// if (coffeeMachineV2.makeAmericano()) { -// System.out.println("Drink Americano"); -// } -// if (coffeeMachineV2.makeEspresso()) { -// System.out.println("Drink Espresso"); -// } -// if (coffeeMachineV2.makeCappuccino()) { -// System.out.println("Drink Cappuccino"); -// } -// if (coffeeMachineV2.makeLatte()) { -// System.out.println("Drink Latte"); -// } -// coffeeMachineV2.off(); + + CoffeeMachineV2 coffeeMachineV2 = new CoffeeMachineV2(1000, 5000, 5000, 1000); + + coffeeMachineV2.on(); + coffeeMachineV2.addWater(1000); + coffeeMachineV2.addCoffeeBeans(200); + coffeeMachineV2.addMilk(1000); + if (coffeeMachineV2.makeAmericano()) { + System.out.println("Drink Americano"); + } + if (coffeeMachineV2.makeEspresso()) { + System.out.println("Drink Espresso"); + } + if (coffeeMachineV2.makeCappuccino()) { + System.out.println("Drink Cappuccino"); + } + if (coffeeMachineV2.makeLatte()) { + System.out.println("Drink Latte"); + } + coffeeMachineV2.off(); } } diff --git a/src/main/java/com/softserveinc/task03/Main.java b/src/main/java/com/softserveinc/task03/Main.java index cae4090..5bad154 100644 --- a/src/main/java/com/softserveinc/task03/Main.java +++ b/src/main/java/com/softserveinc/task03/Main.java @@ -9,31 +9,31 @@ */ public class Main { public static void main(String[] args) { - // TODO: Uncomment code bellow after the class Country have been created -// UserManager userManager = new UserManager(); -// userManager.register("admin", "qwerty"); -// userManager.register("user", "12345"); -// -// Scanner scanner = new Scanner(System.in); -// System.out.print("Login: "); -// String login = scanner.nextLine(); -// System.out.print("Password: "); -// String password = scanner.nextLine(); -// -// if (userManager.exists(login, password)) { -// System.out.println("Welcome " + login); -// System.out.println("Change your password"); -// System.out.print("Old password: "); -// String oldPassword = scanner.nextLine(); -// System.out.print("New password: "); -// String newPassword = scanner.nextLine(); -// if (userManager.changePassword(login, oldPassword, newPassword)) { -// System.out.println("Your password has been changed"); -// } else { -// System.err.println("Password hasn't been changed because old password incorrect"); -// } -// } else { -// System.err.println("Access denied"); -// } + + UserManager userManager = new UserManager(); + userManager.register("admin", "qwerty"); + userManager.register("user", "12345"); + + Scanner scanner = new Scanner(System.in); + System.out.print("Login: "); + String login = scanner.nextLine(); + System.out.print("Password: "); + String password = scanner.nextLine(); + + if (userManager.exists(login, password)) { + System.out.println("Welcome " + login); + System.out.println("Change your password"); + System.out.print("Old password: "); + String oldPassword = scanner.nextLine(); + System.out.print("New password: "); + String newPassword = scanner.nextLine(); + if (userManager.changePassword(login, oldPassword, newPassword)) { + System.out.println("Your password has been changed"); + } else { + System.err.println("Password hasn't been changed because old password incorrect"); + } + } else { + System.err.println("Access denied"); + } } } diff --git a/src/main/java/com/softserveinc/task03/UserManager.java b/src/main/java/com/softserveinc/task03/UserManager.java new file mode 100644 index 0000000..4379215 --- /dev/null +++ b/src/main/java/com/softserveinc/task03/UserManager.java @@ -0,0 +1,44 @@ +package com.softserveinc.task03; + +import java.util.HashSet; +import java.util.Set; + +public class UserManager { + private final Set users; + + public UserManager() { + users = new HashSet<>(); + } + + public void register(String login, String password) { + users.add(new User(login, password)); + } + + public void delete(String login) { + for (User user: users) { + if (user.getLogin().equals(login)) { + users.remove(user); + break; + } + } + } + + public boolean exists (String login, String password) { + for (User user : users) { + if (user.getLogin().equals(login) && user.getPassword().equals(password)) { + return true; + } + } + return false; + } + + public boolean changePassword (String login, String oldPassword, String newPassword) { + for (User user: users) { + if (user.getLogin().equals(login) && user.getPassword().equals(oldPassword)) { + user.setPassword(newPassword); + return true; + } + } + return false; + } +}