From 7085ee146b20eebd5a4e478630eb07cb44437d5e Mon Sep 17 00:00:00 2001 From: CentnerMan <44133485+CentnerMan@users.noreply.github.com> Date: Thu, 22 Nov 2018 00:33:11 +0300 Subject: [PATCH 1/3] Cats and Plates --- src/main/java/ru/lebedev/se/catsandplates/Cat.java | 4 ++++ src/main/java/ru/lebedev/se/catsandplates/MainClass.java | 4 ++++ src/main/java/ru/lebedev/se/catsandplates/Plate.java | 4 ++++ src/main/java/ru/lebedev/se/phonebook/Contact.java | 4 ++++ src/main/java/ru/lebedev/se/phonebook/PhoneBook.java | 4 ++++ 5 files changed, 20 insertions(+) create mode 100644 src/main/java/ru/lebedev/se/catsandplates/Cat.java create mode 100644 src/main/java/ru/lebedev/se/catsandplates/MainClass.java create mode 100644 src/main/java/ru/lebedev/se/catsandplates/Plate.java create mode 100644 src/main/java/ru/lebedev/se/phonebook/Contact.java create mode 100644 src/main/java/ru/lebedev/se/phonebook/PhoneBook.java diff --git a/src/main/java/ru/lebedev/se/catsandplates/Cat.java b/src/main/java/ru/lebedev/se/catsandplates/Cat.java new file mode 100644 index 0000000..2d08e80 --- /dev/null +++ b/src/main/java/ru/lebedev/se/catsandplates/Cat.java @@ -0,0 +1,4 @@ +package ru.lebedev.se.catsandplates; + +public class Cat { +} diff --git a/src/main/java/ru/lebedev/se/catsandplates/MainClass.java b/src/main/java/ru/lebedev/se/catsandplates/MainClass.java new file mode 100644 index 0000000..efc2e90 --- /dev/null +++ b/src/main/java/ru/lebedev/se/catsandplates/MainClass.java @@ -0,0 +1,4 @@ +package ru.lebedev.se.catsandplates; + +public class MainClass { +} diff --git a/src/main/java/ru/lebedev/se/catsandplates/Plate.java b/src/main/java/ru/lebedev/se/catsandplates/Plate.java new file mode 100644 index 0000000..c6d31fa --- /dev/null +++ b/src/main/java/ru/lebedev/se/catsandplates/Plate.java @@ -0,0 +1,4 @@ +package ru.lebedev.se.catsandplates; + +public class Plate { +} diff --git a/src/main/java/ru/lebedev/se/phonebook/Contact.java b/src/main/java/ru/lebedev/se/phonebook/Contact.java new file mode 100644 index 0000000..90a5261 --- /dev/null +++ b/src/main/java/ru/lebedev/se/phonebook/Contact.java @@ -0,0 +1,4 @@ +package ru.lebedev.se.phonebook; + +public class Contact { +} diff --git a/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java b/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java new file mode 100644 index 0000000..a4f73db --- /dev/null +++ b/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java @@ -0,0 +1,4 @@ +package ru.lebedev.se.phonebook; + +public class PhoneBook { +} From 9dce72fe3d218ec82f5188b8572fca999866eda1 Mon Sep 17 00:00:00 2001 From: CentnerMan <44133485+CentnerMan@users.noreply.github.com> Date: Thu, 22 Nov 2018 00:33:24 +0300 Subject: [PATCH 2/3] Cats and Plates --- .../java/ru/lebedev/se/catsandplates/Cat.java | 18 +++++++++++++++ .../ru/lebedev/se/catsandplates/Plate.java | 23 +++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/src/main/java/ru/lebedev/se/catsandplates/Cat.java b/src/main/java/ru/lebedev/se/catsandplates/Cat.java index 2d08e80..f2670e7 100644 --- a/src/main/java/ru/lebedev/se/catsandplates/Cat.java +++ b/src/main/java/ru/lebedev/se/catsandplates/Cat.java @@ -1,4 +1,22 @@ package ru.lebedev.se.catsandplates; public class Cat { + private String name; + private int appetite; + private boolean satiety = false; + + public Cat(String name, int appetite) { + this.name = name; + this.appetite = appetite; + } + + public void eat(Plate plate) { + if (plate.decreaseFood(appetite)) satiety = true; + } + + public void info() { + if (satiety) { + System.out.println("Кот " + name + " сыт"); + } else System.out.println("Кот " + name + " голоден"); + } } diff --git a/src/main/java/ru/lebedev/se/catsandplates/Plate.java b/src/main/java/ru/lebedev/se/catsandplates/Plate.java index c6d31fa..affc044 100644 --- a/src/main/java/ru/lebedev/se/catsandplates/Plate.java +++ b/src/main/java/ru/lebedev/se/catsandplates/Plate.java @@ -1,4 +1,27 @@ package ru.lebedev.se.catsandplates; public class Plate { + private int food; + + public Plate(int food) { + this.food = food; + } + + public boolean decreaseFood(int n) { + if (n <= food) { + food -= n; + return true; + } + return false; + } + + public void increaseFood(int n) { + if (n > 0) { + food += n; + } + } + + public void info() { + System.out.println("Еды в тарелке: " + food); + } } From 6e3a2e23b4b98d2a7247371c7202be3f0283a3cc Mon Sep 17 00:00:00 2001 From: CentnerMan <44133485+CentnerMan@users.noreply.github.com> Date: Thu, 22 Nov 2018 00:33:34 +0300 Subject: [PATCH 3/3] PhoneBook --- .../lebedev/se/catsandplates/MainClass.java | 16 ++ .../java/ru/lebedev/se/phonebook/Contact.java | 21 +++ .../ru/lebedev/se/phonebook/PhoneBook.java | 162 ++++++++++++++++++ 3 files changed, 199 insertions(+) diff --git a/src/main/java/ru/lebedev/se/catsandplates/MainClass.java b/src/main/java/ru/lebedev/se/catsandplates/MainClass.java index efc2e90..b8e6e87 100644 --- a/src/main/java/ru/lebedev/se/catsandplates/MainClass.java +++ b/src/main/java/ru/lebedev/se/catsandplates/MainClass.java @@ -1,4 +1,20 @@ package ru.lebedev.se.catsandplates; public class MainClass { + public static void main(String[] args) { + Cat[] cats = new Cat[5]; + cats[0] = new Cat("Барсик", 6); + cats[1] = new Cat("Мурзик", 7); + cats[2] = new Cat("Васька", 8); + cats[3] = new Cat("Моряк", 9); + cats[4] = new Cat("Рыжик", 5); + Plate plate = new Plate(11); + plate.increaseFood(20); + plate.info(); + for (int i = 0; i < cats.length; i++) { + cats[i].eat(plate); + cats[i].info(); + } + plate.info(); + } } diff --git a/src/main/java/ru/lebedev/se/phonebook/Contact.java b/src/main/java/ru/lebedev/se/phonebook/Contact.java index 90a5261..8971dd9 100644 --- a/src/main/java/ru/lebedev/se/phonebook/Contact.java +++ b/src/main/java/ru/lebedev/se/phonebook/Contact.java @@ -1,4 +1,25 @@ package ru.lebedev.se.phonebook; public class Contact { + + public String name = ""; + + public String phone = ""; + + public Contact() { + } + + public Contact(String name) { + this.name = name; + } + + public Contact(String name, String phone) { + this.name = name; + this.phone = phone; + } + + @Override + public String toString() { + return (name + " : " + phone); + } } diff --git a/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java b/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java index a4f73db..35ec1f6 100644 --- a/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java +++ b/src/main/java/ru/lebedev/se/phonebook/PhoneBook.java @@ -1,4 +1,166 @@ package ru.lebedev.se.phonebook; +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + public class PhoneBook { + + private final List contacts = new ArrayList<>(); + + public static void main(String[] args) { + final PhoneBook phoneBook = new PhoneBook(); + + phoneBook.create("Василий", "22222"); + phoneBook.create("Сергей", "11111"); + phoneBook.create("Маша", "33333"); + + final Scanner scanner = new Scanner(System.in); + String command = ""; + while (!"EXIT".equals(command.toUpperCase())) { + command = scanner.nextLine(); + + if ("CREATE".equals(command.toUpperCase())) phoneBook.create(); + if ("SHOW".equals(command.toUpperCase())) phoneBook.show(); + if ("NAME".equals(command.toUpperCase())) phoneBook.findByName(); + if ("PHONE".equals(command.toUpperCase())) phoneBook.findByPhone(); + if ("DELN".equals(command.toUpperCase())) phoneBook.removeByName(); + if ("DELP".equals(command.toUpperCase())) phoneBook.removeByPhone(); + if ("CLEAR".equals(command.toUpperCase())) phoneBook.clear(); + } + System.out.println("До свидания!"); + } + + //---------------------------------------------------------------------------------------- + + public void create() { + final Scanner scanner = new Scanner(System.in); + System.out.println("ENTER NAME: "); + final String name = scanner.nextLine(); + System.out.println("ENTER PHONE: "); + final String phone = scanner.nextLine(); + create(name, phone); + } + + //---------------------------------------------------------------------------------------- + + public void create(Contact contact) { + if (contact == null) return; + contacts.add(contact); + } + + //---------------------------------------------------------------------------------------- + + public void create(String name, String phone) { + Contact contact = new Contact(name, phone); + contacts.add(contact); + } + + //---------------------------------------------------------------------------------------- + + public void show() { + System.out.println(contacts); + } + + //---------------------------------------------------------------------------------------- + + public void clear() { + contacts.clear(); + } + + //---------------------------------------------------------------------------------------- + + public void findByName() { + final Scanner scanner = new Scanner(System.in); + System.out.println("ENTER NAME: "); + final String name = scanner.nextLine(); + findByName(name); + } + + //---------------------------------------------------------------------------------------- + + public void findByName(String name) { + for (final Contact contact : contacts) { + if (contact.name.contains(name)) { + System.out.println(contact); + } + } + } + + //---------------------------------------------------------------------------------------- + + public void findByPhone() { + final Scanner scanner = new Scanner(System.in); + System.out.println("ENTER PHONE: "); + final String phone = scanner.nextLine(); + findByPhone(phone); + } + + //---------------------------------------------------------------------------------------- + + public void findByPhone(String phone) { + for (final Contact contact : contacts) { + if (contact.phone.equals(phone)) { + System.out.println(contact); + } + } + } + + //---------------------------------------------------------------------------------------- + + public Contact getByName(String name) { + for (final Contact contact : contacts) { + if (contact.name.equals(name)) return contact; + } + return null; + } + + //---------------------------------------------------------------------------------------- + + public Contact getByPhone(String phone) { + for (final Contact contact : contacts) { + if (contact.phone.equals(phone)) return contact; + } + return null; + } + + //---------------------------------------------------------------------------------------- + + public void remove(Contact contact) { + if (contact == null) return; + contacts.remove(contact); + } + + //---------------------------------------------------------------------------------------- + + public void removeByName() { + final Scanner scanner = new Scanner(System.in); + System.out.println("ENTER NAME: "); + final String name = scanner.nextLine(); + removeByName(name); + } + + //---------------------------------------------------------------------------------------- + + public void removeByName(String name) { + remove(getByName(name)); + } + + //---------------------------------------------------------------------------------------- + + public void removeByPhone() { + final Scanner scanner = new Scanner(System.in); + System.out.println("ENTER PHONE: "); + final String phone = scanner.nextLine(); + removeByPhone(phone); + } + + //---------------------------------------------------------------------------------------- + + public void removeByPhone(String phone) { + remove(getByPhone(phone)); + } + + //---------------------------------------------------------------------------------------- + }