From 77daf981f039c19c3f78cb3ee5bcff7506f28d72 Mon Sep 17 00:00:00 2001 From: dmithorzh Date: Thu, 28 Oct 2021 12:21:34 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=9F=D0=BE=D0=BF=D1=8B=D1=82=D0=B0=D0=BB?= =?UTF-8?q?=D1=81=D1=8F=20=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C.=20?= =?UTF-8?q?=D0=AF=D0=B2=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B8?= =?UTF-8?q?=D0=BB=D0=BE=D1=81=D1=8C=20=D0=BD=D0=B5=20=D1=82=D0=B0=D0=BA=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BA=20=D0=BD=D0=B0=D0=B4=D0=BE,=20=D0=B2=D0=BE?= =?UTF-8?q?=20=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=BC=20=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B8=20=D1=8F=20=D0=B2=D0=BE=D0=BE=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D0=BD=D1=8F=D0=BB=20?= =?UTF-8?q?=D0=BA=D0=B0=D0=BA=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D1=8C=20=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=20goR?= =?UTF-8?q?otten,=20=D0=BF=D0=BE=D1=87=D0=B8=D1=82=D0=B0=D0=BB=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=20java=20timer,=20=D0=BD=D0=BE=20=D0=BD=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BD=D1=8F=D0=BB=20=D0=BA=D0=B0=D0=BA=20=D0=B8?= =?UTF-8?q?=D0=BC=D0=BF=D0=BB=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D0=B5=D0=B3=D0=BE=20=D0=B2=20?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=BD=D0=BE=D0=BC=20=D1=81=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B0=D0=B5,=20=D0=B5=D1=81=D0=BB=D0=B8=20=D1=8D=D1=82=D0=BE?= =?UTF-8?q?=20=D0=B2=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=20=D0=B2=D0=BE=D0=B7?= =?UTF-8?q?=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- .../tkhorzhevskiy/ComplexNumber.java | 99 +++++++++++++++++++ .../farm/tkhorzhevskiy/Application.java | 37 +++++++ .../courses/farm/tkhorzhevskiy/Farmer.java | 59 +++++++++++ .../farm/tkhorzhevskiy/animals/Chicken.java | 21 ++++ .../farm/tkhorzhevskiy/animals/Cow.java | 22 +++++ .../farm/tkhorzhevskiy/animals/Pig.java | 36 +++++++ .../courses/farm/tkhorzhevskiy/goods/Egg.java | 18 ++++ .../farm/tkhorzhevskiy/goods/Meat.java | 16 +++ .../farm/tkhorzhevskiy/goods/Milk.java | 14 +++ .../farm/tkhorzhevskiy/goods/ParentGood.java | 59 +++++++++++ 11 files changed, 383 insertions(+), 1 deletion(-) create mode 100644 src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/Application.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java diff --git a/.gitignore b/.gitignore index eea6353..f30456d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ .idea *.iws *.iml -*.ipr \ No newline at end of file +*.ipr +/out/ \ No newline at end of file diff --git a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java new file mode 100644 index 0000000..698635a --- /dev/null +++ b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java @@ -0,0 +1,99 @@ +package ru.milandr.courses.complexnumber.tkhorzhevskiy; + +import ru.milandr.courses.complexnumber.ComplexNumberInterface; + +public class ComplexNumber implements ComplexNumberInterface { + + + double real; + double imaginary; + + + + public ComplexNumber (double x, double y) { + this.real = x; + this.imaginary = y; + } + @Override + public String toString() { + return real + "+" + imaginary + "i"; + } + + public double getReal() { + return this.real; + } + public void setReal(double real) { + this.real = real; + } + + public double getImaginary() { + return this.imaginary; + } + public void setImaginary(double imaginary) { + this.imaginary = imaginary; + } + + + + @Override + public ComplexNumberInterface add(ComplexNumberInterface anotherNumber) { + return new ComplexNumber((real + ((ComplexNumber) anotherNumber).real), (imaginary + ((ComplexNumber) anotherNumber).imaginary )); + } + + @Override + public ComplexNumberInterface subtract(ComplexNumberInterface anotherNumber) { + return new ComplexNumber((real - ((ComplexNumber) anotherNumber).real), (imaginary - ((ComplexNumber) anotherNumber).imaginary )); + } + + @Override + public ComplexNumberInterface multiply(ComplexNumberInterface anotherNumber) { + double a = real; + double b = imaginary; + double c = ((ComplexNumber) anotherNumber).real; + double d = ((ComplexNumber) anotherNumber).imaginary; + + return new ComplexNumber(a * c - b * d, b * c + a * d); + } + + @Override + public ComplexNumberInterface divide(ComplexNumberInterface anotherNumber) { + double a = real; + double b = imaginary; + double c = ((ComplexNumber) anotherNumber).real; + double d = ((ComplexNumber) anotherNumber).imaginary; + return new ComplexNumber((a * c + b * d) / (c * c + d * d), (b * c - a * d) / (c * c + d * d)); + } + + @Override + public ComplexNumberInterface negate() { + double a = real * -1; + double b = imaginary * -1; + return new ComplexNumber(a,b); + } + + @Override + public double calculateModulus() { + return Math.sqrt((real*real + imaginary*imaginary)); + } + + @Override + public double calculateArgument() { + return 0; + //я тупой и не понял этого. + } + public static void main(String[] args) { + + ComplexNumber number = new ComplexNumber(2 , 3); + System.out.println(number + " 1 число"); + ComplexNumber number2 = new ComplexNumber(1 , 2); + System.out.println(number2 + " 2 число"); + System.out.println(number.add(number2) + " их сумма"); + System.out.println(number.subtract(number2) + " их разность"); + System.out.println(number.divide(number2)+ " результат деления"); + System.out.println(number.multiply(number2)+ " результат перемножения"); + System.out.println(number.negate() + " негатив 1 числа"); + System.out.println(number.calculateModulus() + " модуль 1 числа"); + + } + +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/Application.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/Application.java new file mode 100644 index 0000000..789af65 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/Application.java @@ -0,0 +1,37 @@ +package ru.milandr.courses.farm.tkhorzhevskiy; + +import ru.milandr.courses.farm.Animal; +import ru.milandr.courses.farm.Good; +import ru.milandr.courses.farm.tkhorzhevskiy.animals.Chicken; +import ru.milandr.courses.farm.tkhorzhevskiy.animals.Cow; +import ru.milandr.courses.farm.tkhorzhevskiy.animals.Pig; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Egg; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Meat; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Milk; + +public class Application { + public static void main(String[] args) { + Farmer volodya = new Farmer("Володя"); + Animal cow = new Cow(); + Animal pig = new Pig(); + Animal chicken = new Chicken(); + Good milk = new Milk(); + Good meat = new Meat(); + Good egg = new Egg(); + + + volodya.petAnAnimal(cow); + volodya.petAnAnimal(pig); + volodya.petAnAnimal(chicken); + volodya.collectGoods(meat); + volodya.collectGoods(egg); + volodya.collectGoods(milk); + volodya.eatProduct(milk); + volodya.eatProduct(egg); + volodya.eatProduct(meat); + milk.goRotten(); + volodya.eatProduct(milk); + + + } +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java new file mode 100644 index 0000000..15cbd9c --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java @@ -0,0 +1,59 @@ +package ru.milandr.courses.farm.tkhorzhevskiy; + + +import ru.milandr.courses.farm.Animal; +import ru.milandr.courses.farm.GenericFarmer; +import ru.milandr.courses.farm.Good; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Egg; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Meat; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Milk; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.ParentGood; + +public class Farmer implements GenericFarmer { + private String name; + + public Farmer (String name) { + this.name = name; + } + + @Override + public void collectGoods(Good good) { + if (good instanceof Milk) { + System.out.println(name + " подоил корову"); + return; + } + if (good instanceof Egg) { + System.out.println(name + " собрал яйцо"); + return; + } + if (good instanceof Meat) { + System.out.println(name + " зарезал свинью"); + } + } + @Override + public void petAnAnimal(Animal animal) { + System.out.println(name + " погладил " + animal); + animal.produceSound(); + + } + + @Override + public void eatProduct(Good good) { + ParentGood currGood = (ParentGood) good; + if (currGood.isRotten(false)){ + System.out.println("Фу, протухло "+ good); + return;} + if (good instanceof Milk){ + System.out.println(name + " выпил молока"); + return; + } + if (good instanceof Egg){ + System.out.println(name + " скушал яйцо"); + return; } + if (good instanceof Meat){ + System.out.println(name + " съел мясо"); + + } + + } +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java new file mode 100644 index 0000000..c6b8f16 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java @@ -0,0 +1,21 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.animals; + +import ru.milandr.courses.farm.Animal; +import ru.milandr.courses.farm.Good; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Egg; + +public class Chicken implements Animal { + @Override + public void produceSound() { + System.out.println("За орду!"); + } + + @Override + public Good produceGoods() { + return new Egg(); + } + @Override + public String toString() { + return "Курица"; + } +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java new file mode 100644 index 0000000..c849034 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java @@ -0,0 +1,22 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.animals; + +import ru.milandr.courses.farm.Animal; +import ru.milandr.courses.farm.Good; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Milk; + +public class Cow implements Animal { + + @Override + public void produceSound() { + System.out.println("Lets get mooooving"); + } + + @Override + public Good produceGoods() { + return new Milk(); + } + @Override + public String toString() { + return "Корова"; + } +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java new file mode 100644 index 0000000..8523716 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java @@ -0,0 +1,36 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.animals; + +import ru.milandr.courses.farm.Animal; +import ru.milandr.courses.farm.Good; +import ru.milandr.courses.farm.tkhorzhevskiy.goods.Meat; + +public class Pig implements Animal { + private boolean isAlive = true; + + @Override + public void produceSound() { + if (!isAlive) { + System.out.println("Свинья отсутствует"); + + return; + } + System.out.println("За альянс!"); + } + + @Override + public Good produceGoods() { + if (!isAlive) { + System.out.println("Свинья отсутствует"); + } else { + return new Meat(); + } + return null; + } + + @Override + public String toString() { + return "Свинья"; + } + + +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java new file mode 100644 index 0000000..fa05d47 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java @@ -0,0 +1,18 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.goods; + +public class Egg extends ParentGood { + public Egg() { + isRotten(false); + setName("Яйцо"); + setRotTime(7); + setGatherTime(1); + } + @Override + public String toString() { + return this.getName(); + } + +} + + + diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java new file mode 100644 index 0000000..060b267 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java @@ -0,0 +1,16 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.goods; + + +public class Meat extends ParentGood { + + public Meat() { + isRotten(false); + setName("Мясо"); + setRotTime(11); + setGatherTime(5); + } + @Override + public String toString() { + return this.getName(); + } +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java new file mode 100644 index 0000000..99292dd --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java @@ -0,0 +1,14 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.goods; + +public class Milk extends ParentGood{ + public Milk() { + isRotten(false); + setName("Молоко"); + setRotTime(10); + setGatherTime(4); + } + @Override + public String toString() { + return this.getName(); + } +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java new file mode 100644 index 0000000..c533300 --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java @@ -0,0 +1,59 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.goods; + +import ru.milandr.courses.farm.Good; + +public class ParentGood implements Good { + long currTime; + private boolean isRotten = false; + private long rotTime; + private long gatherTime; + private String name; + + public boolean isRotten(boolean b) { + return isRotten; + } + + public void setRotten(boolean rotten) { + isRotten = rotten; + } + + public long getRotTime() { + return rotTime; + } + + public void setRotTime(int rotTime) { + this.rotTime = rotTime; + } + + public long getGatherTime() { + return gatherTime; + } + + public void setGatherTime(long gatherTime) { + this.gatherTime = gatherTime; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public long getCurrTime() { + return currTime; + } + + public void setCurrTime(long currTime) { + this.currTime = currTime; + } + + @Override + public void goRotten() { + isRotten = true; + + } + + +} From d59ae81cbab17aefc96d8d9639c8c501019f83cf Mon Sep 17 00:00:00 2001 From: dmithorzh Date: Sun, 31 Oct 2021 03:45:15 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=9A=D0=BE=D1=81=D1=8F=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tkhorzhevskiy/ComplexNumber.java | 20 ++++++-- .../courses/farm/tkhorzhevskiy/Farmer.java | 24 ++++------ .../farm/tkhorzhevskiy/animals/Chicken.java | 14 +++--- .../farm/tkhorzhevskiy/animals/Cow.java | 14 +++--- .../tkhorzhevskiy/animals/ParentAnimal.java | 47 +++++++++++++++++++ .../farm/tkhorzhevskiy/animals/Pig.java | 9 ++-- .../courses/farm/tkhorzhevskiy/goods/Egg.java | 11 ++--- .../farm/tkhorzhevskiy/goods/Meat.java | 11 ++--- .../farm/tkhorzhevskiy/goods/Milk.java | 11 ++--- .../farm/tkhorzhevskiy/goods/ParentGood.java | 40 ++++------------ 10 files changed, 111 insertions(+), 90 deletions(-) create mode 100644 src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java diff --git a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java index 698635a..246724d 100644 --- a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java +++ b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java @@ -5,8 +5,8 @@ public class ComplexNumber implements ComplexNumberInterface { - double real; - double imaginary; + protected double real; + protected double imaginary; @@ -37,12 +37,20 @@ public void setImaginary(double imaginary) { @Override public ComplexNumberInterface add(ComplexNumberInterface anotherNumber) { - return new ComplexNumber((real + ((ComplexNumber) anotherNumber).real), (imaginary + ((ComplexNumber) anotherNumber).imaginary )); + double a = real; + double b = imaginary; + double c = ((ComplexNumber) anotherNumber).real; + double d = ((ComplexNumber) anotherNumber).imaginary; + return new ComplexNumber((a + c), (b + d)); } @Override public ComplexNumberInterface subtract(ComplexNumberInterface anotherNumber) { - return new ComplexNumber((real - ((ComplexNumber) anotherNumber).real), (imaginary - ((ComplexNumber) anotherNumber).imaginary )); + double a = real; + double b = imaginary; + double c = ((ComplexNumber) anotherNumber).real; + double d = ((ComplexNumber) anotherNumber).imaginary; + return new ComplexNumber((a - c), (b - d)); } @Override @@ -73,7 +81,9 @@ public ComplexNumberInterface negate() { @Override public double calculateModulus() { - return Math.sqrt((real*real + imaginary*imaginary)); + double a = real; + double b = imaginary; + return Math.sqrt((a*a + b*b)); } @Override diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java index 15cbd9c..4f13516 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java @@ -12,9 +12,6 @@ public class Farmer implements GenericFarmer { private String name; - public Farmer (String name) { - this.name = name; - } @Override public void collectGoods(Good good) { @@ -30,6 +27,7 @@ public void collectGoods(Good good) { System.out.println(name + " зарезал свинью"); } } + @Override public void petAnAnimal(Animal animal) { System.out.println(name + " погладил " + animal); @@ -40,20 +38,16 @@ public void petAnAnimal(Animal animal) { @Override public void eatProduct(Good good) { ParentGood currGood = (ParentGood) good; - if (currGood.isRotten(false)){ - System.out.println("Фу, протухло "+ good); - return;} - if (good instanceof Milk){ - System.out.println(name + " выпил молока"); + if (currGood.isRotten()) { + System.out.println("Фу, протухло " + good); return; } - if (good instanceof Egg){ - System.out.println(name + " скушал яйцо"); - return; } - if (good instanceof Meat){ - System.out.println(name + " съел мясо"); - - } + System.out.println(name + " употребил " + currGood.getName()); } + public Farmer(String name) { + this.name = name; + } + } + diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java index c6b8f16..f58644e 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java @@ -1,10 +1,15 @@ package ru.milandr.courses.farm.tkhorzhevskiy.animals; -import ru.milandr.courses.farm.Animal; import ru.milandr.courses.farm.Good; import ru.milandr.courses.farm.tkhorzhevskiy.goods.Egg; -public class Chicken implements Animal { +public class Chicken extends ParentAnimal { + private static final String ChickenName = "Курица"; + + public Chicken() { + name=ChickenName; + } + @Override public void produceSound() { System.out.println("За орду!"); @@ -14,8 +19,5 @@ public void produceSound() { public Good produceGoods() { return new Egg(); } - @Override - public String toString() { - return "Курица"; - } + } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java index c849034..47c7b03 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java @@ -1,22 +1,22 @@ package ru.milandr.courses.farm.tkhorzhevskiy.animals; -import ru.milandr.courses.farm.Animal; import ru.milandr.courses.farm.Good; import ru.milandr.courses.farm.tkhorzhevskiy.goods.Milk; -public class Cow implements Animal { +public class Cow extends ParentAnimal { + private static final String CowName = "Корова"; + + public Cow() { + name=CowName; + } @Override public void produceSound() { System.out.println("Lets get mooooving"); } - @Override public Good produceGoods() { return new Milk(); } - @Override - public String toString() { - return "Корова"; - } + } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java new file mode 100644 index 0000000..a0c452f --- /dev/null +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java @@ -0,0 +1,47 @@ +package ru.milandr.courses.farm.tkhorzhevskiy.animals; + +import ru.milandr.courses.farm.Animal; +import ru.milandr.courses.farm.Good; + + +public class ParentAnimal implements Animal { + protected String name; + protected boolean isAlive; + + public ParentAnimal() { + this.isAlive=true; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public boolean isAlive() { + return isAlive; + } + + public void setAlive(boolean alive) { + isAlive = alive; + } + + + @Override + public void produceSound() { + System.out.println("Какой то звук"); + + } + + @Override + public Good produceGoods() { + return null; + } + public String toString() { + return this.getName(); + } + + +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java index 8523716..21ddf8e 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java @@ -1,17 +1,20 @@ package ru.milandr.courses.farm.tkhorzhevskiy.animals; -import ru.milandr.courses.farm.Animal; import ru.milandr.courses.farm.Good; import ru.milandr.courses.farm.tkhorzhevskiy.goods.Meat; -public class Pig implements Animal { +public class Pig extends ParentAnimal { + private static final String PigName = "Свинья"; private boolean isAlive = true; + public Pig() { + name = PigName; + } + @Override public void produceSound() { if (!isAlive) { System.out.println("Свинья отсутствует"); - return; } System.out.println("За альянс!"); diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java index fa05d47..64d0e77 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java @@ -1,15 +1,10 @@ package ru.milandr.courses.farm.tkhorzhevskiy.goods; public class Egg extends ParentGood { + private static final String EggName = "Яйцо"; + public Egg() { - isRotten(false); - setName("Яйцо"); - setRotTime(7); - setGatherTime(1); - } - @Override - public String toString() { - return this.getName(); + name=EggName; } } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java index 060b267..ab6581c 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java @@ -2,15 +2,10 @@ public class Meat extends ParentGood { + private static final String MeatName = "Мясо"; public Meat() { - isRotten(false); - setName("Мясо"); - setRotTime(11); - setGatherTime(5); - } - @Override - public String toString() { - return this.getName(); + name=MeatName; } + } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java index 99292dd..9955396 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java @@ -1,14 +1,9 @@ package ru.milandr.courses.farm.tkhorzhevskiy.goods; public class Milk extends ParentGood{ + private static final String MilkName = "Молоко"; + public Milk() { - isRotten(false); - setName("Молоко"); - setRotTime(10); - setGatherTime(4); - } - @Override - public String toString() { - return this.getName(); + name=MilkName; } } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java index c533300..d58c21c 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java @@ -3,13 +3,14 @@ import ru.milandr.courses.farm.Good; public class ParentGood implements Good { - long currTime; - private boolean isRotten = false; - private long rotTime; - private long gatherTime; - private String name; + protected boolean isRotten; + protected String name; - public boolean isRotten(boolean b) { + public ParentGood(){ + this.isRotten=false; + } + + public boolean isRotten() { return isRotten; } @@ -17,22 +18,6 @@ public void setRotten(boolean rotten) { isRotten = rotten; } - public long getRotTime() { - return rotTime; - } - - public void setRotTime(int rotTime) { - this.rotTime = rotTime; - } - - public long getGatherTime() { - return gatherTime; - } - - public void setGatherTime(long gatherTime) { - this.gatherTime = gatherTime; - } - public String getName() { return name; } @@ -41,19 +26,14 @@ public void setName(String name) { this.name = name; } - public long getCurrTime() { - return currTime; - } - - public void setCurrTime(long currTime) { - this.currTime = currTime; - } - @Override public void goRotten() { isRotten = true; } + public String toString() { + return this.getName(); + } } From c60216202f2b71ccade2b187116e0a7d98a0727a Mon Sep 17 00:00:00 2001 From: dmithorzh Date: Wed, 3 Nov 2021 02:09:26 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20=D0=B2=20=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D1=80=D0=BE=D0=BC=20=D0=B4=D0=B7,=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B2=D1=82=D0=BE=D1=80=D0=BE=D0=B9=20=D1=87=D0=B0?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D0=B4=D0=B7=20=D0=BF=D1=80=D0=B8=D1=88?= =?UTF-8?q?=D0=BB=D0=BE=D1=81=D1=8C=20=D0=B2=D0=BD=D0=B5=D1=81=D1=82=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B2=20=D0=B8=D0=BD=D1=82=D0=B5=D1=80=D1=84=D0=B5=D0=B9=D1=81?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../complexnumber/ComplexNumberInterface.java | 12 +++++ .../tkhorzhevskiy/ComplexNumber.java | 38 ++++++++----- .../tkhorzhevskiy/WrongNumber.java | 53 +++++++++++++++++++ .../tkhorzhevskiy/WrongNumberException.java | 9 ++++ .../courses/farm/tkhorzhevskiy/Farmer.java | 9 ++-- .../farm/tkhorzhevskiy/animals/Chicken.java | 6 +-- .../farm/tkhorzhevskiy/animals/Cow.java | 7 +-- .../tkhorzhevskiy/animals/ParentAnimal.java | 5 +- .../farm/tkhorzhevskiy/animals/Pig.java | 4 +- .../courses/farm/tkhorzhevskiy/goods/Egg.java | 4 +- .../farm/tkhorzhevskiy/goods/Meat.java | 4 +- .../farm/tkhorzhevskiy/goods/Milk.java | 6 +-- .../farm/tkhorzhevskiy/goods/ParentGood.java | 7 +-- 13 files changed, 126 insertions(+), 38 deletions(-) create mode 100644 src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumber.java create mode 100644 src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumberException.java diff --git a/src/ru/milandr/courses/complexnumber/ComplexNumberInterface.java b/src/ru/milandr/courses/complexnumber/ComplexNumberInterface.java index 541391b..7d49da1 100644 --- a/src/ru/milandr/courses/complexnumber/ComplexNumberInterface.java +++ b/src/ru/milandr/courses/complexnumber/ComplexNumberInterface.java @@ -40,4 +40,16 @@ public interface ComplexNumberInterface { * @return argument value for current complex number */ double calculateArgument(); + + /** + * + * @return value of real part of complex nubmer + */ + double getReal(); + + /** + * + * @return value of imaginary part of complex number + */ + double getImaginary(); } \ No newline at end of file diff --git a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java index 246724d..c01985b 100644 --- a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java +++ b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/ComplexNumber.java @@ -15,17 +15,13 @@ public ComplexNumber (double x, double y) { this.imaginary = y; } @Override - public String toString() { - return real + "+" + imaginary + "i"; - } - public double getReal() { return this.real; } public void setReal(double real) { this.real = real; } - + @Override public double getImaginary() { return this.imaginary; } @@ -33,42 +29,50 @@ public void setImaginary(double imaginary) { this.imaginary = imaginary; } - + public void validateNumber(ComplexNumberInterface anotherNumber){ + if (!(anotherNumber instanceof ComplexNumber)){ + throw new WrongNumberException("Неверный формат числа"); + } + } @Override public ComplexNumberInterface add(ComplexNumberInterface anotherNumber) { + validateNumber(anotherNumber); double a = real; double b = imaginary; - double c = ((ComplexNumber) anotherNumber).real; - double d = ((ComplexNumber) anotherNumber).imaginary; + double c = anotherNumber.getReal(); + double d = anotherNumber.getImaginary(); return new ComplexNumber((a + c), (b + d)); } @Override public ComplexNumberInterface subtract(ComplexNumberInterface anotherNumber) { + validateNumber(anotherNumber); double a = real; double b = imaginary; - double c = ((ComplexNumber) anotherNumber).real; - double d = ((ComplexNumber) anotherNumber).imaginary; + double c = anotherNumber.getReal(); + double d = anotherNumber.getImaginary(); return new ComplexNumber((a - c), (b - d)); } @Override public ComplexNumberInterface multiply(ComplexNumberInterface anotherNumber) { + validateNumber(anotherNumber); double a = real; double b = imaginary; - double c = ((ComplexNumber) anotherNumber).real; - double d = ((ComplexNumber) anotherNumber).imaginary; + double c = anotherNumber.getReal(); + double d = anotherNumber.getImaginary(); return new ComplexNumber(a * c - b * d, b * c + a * d); } @Override public ComplexNumberInterface divide(ComplexNumberInterface anotherNumber) { + validateNumber(anotherNumber); double a = real; double b = imaginary; - double c = ((ComplexNumber) anotherNumber).real; - double d = ((ComplexNumber) anotherNumber).imaginary; + double c = anotherNumber.getReal(); + double d = anotherNumber.getImaginary(); return new ComplexNumber((a * c + b * d) / (c * c + d * d), (b * c - a * d) / (c * c + d * d)); } @@ -91,6 +95,11 @@ public double calculateArgument() { return 0; //я тупой и не понял этого. } + + @Override + public String toString() { + return real + "+" + imaginary + "i"; + } public static void main(String[] args) { ComplexNumber number = new ComplexNumber(2 , 3); @@ -103,6 +112,7 @@ public static void main(String[] args) { System.out.println(number.multiply(number2)+ " результат перемножения"); System.out.println(number.negate() + " негатив 1 числа"); System.out.println(number.calculateModulus() + " модуль 1 числа"); + number.add(new WrongNumber()); } diff --git a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumber.java b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumber.java new file mode 100644 index 0000000..cd8e945 --- /dev/null +++ b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumber.java @@ -0,0 +1,53 @@ +package ru.milandr.courses.complexnumber.tkhorzhevskiy; + +import ru.milandr.courses.complexnumber.ComplexNumberInterface; + +public class WrongNumber implements ComplexNumberInterface { + + + + @Override + public ComplexNumberInterface add(ComplexNumberInterface anotherNumber) { + return null; + } + + @Override + public ComplexNumberInterface subtract(ComplexNumberInterface anotherNumber) { + return null; + } + + @Override + public ComplexNumberInterface multiply(ComplexNumberInterface anotherNumber) { + return null; + } + + @Override + public ComplexNumberInterface divide(ComplexNumberInterface anotherNumber) { + return null; + } + + @Override + public ComplexNumberInterface negate() { + return null; + } + + @Override + public double calculateModulus() { + return 0; + } + + @Override + public double calculateArgument() { + return 0; + } + + @Override + public double getReal() { + return 0; + } + + @Override + public double getImaginary() { + return 0; + } +} diff --git a/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumberException.java b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumberException.java new file mode 100644 index 0000000..6824f5d --- /dev/null +++ b/src/ru/milandr/courses/complexnumber/tkhorzhevskiy/WrongNumberException.java @@ -0,0 +1,9 @@ +package ru.milandr.courses.complexnumber.tkhorzhevskiy; + +public class WrongNumberException extends RuntimeException{ + + public WrongNumberException(String message){ + super(message); + } + +} diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java index 4f13516..0c714aa 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/Farmer.java @@ -10,9 +10,13 @@ import ru.milandr.courses.farm.tkhorzhevskiy.goods.ParentGood; public class Farmer implements GenericFarmer { - private String name; + private final String name; + public Farmer(String name) { + this.name = name; + } + @Override public void collectGoods(Good good) { if (good instanceof Milk) { @@ -45,9 +49,6 @@ public void eatProduct(Good good) { System.out.println(name + " употребил " + currGood.getName()); } - public Farmer(String name) { - this.name = name; - } } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java index f58644e..63d851e 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Chicken.java @@ -4,15 +4,15 @@ import ru.milandr.courses.farm.tkhorzhevskiy.goods.Egg; public class Chicken extends ParentAnimal { - private static final String ChickenName = "Курица"; + private static final String CHICKEN_NAME = "Курица"; public Chicken() { - name=ChickenName; + name = CHICKEN_NAME; } @Override public void produceSound() { - System.out.println("За орду!"); + System.out.println("За орду!"); } @Override diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java index 47c7b03..4fbfee6 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Cow.java @@ -4,16 +4,17 @@ import ru.milandr.courses.farm.tkhorzhevskiy.goods.Milk; public class Cow extends ParentAnimal { - private static final String CowName = "Корова"; + private static final String COW_NAME = "Корова"; public Cow() { - name=CowName; + name = COW_NAME; } @Override public void produceSound() { - System.out.println("Lets get mooooving"); + System.out.println("Lets get mooooving"); } + @Override public Good produceGoods() { return new Milk(); diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java index a0c452f..fc81dce 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/ParentAnimal.java @@ -4,12 +4,12 @@ import ru.milandr.courses.farm.Good; -public class ParentAnimal implements Animal { +public abstract class ParentAnimal implements Animal { protected String name; protected boolean isAlive; public ParentAnimal() { - this.isAlive=true; + this.isAlive = true; } public String getName() { @@ -39,6 +39,7 @@ public void produceSound() { public Good produceGoods() { return null; } + public String toString() { return this.getName(); } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java index 21ddf8e..c260357 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/animals/Pig.java @@ -4,11 +4,11 @@ import ru.milandr.courses.farm.tkhorzhevskiy.goods.Meat; public class Pig extends ParentAnimal { - private static final String PigName = "Свинья"; + private static final String PIG_NAME = "Свинья"; private boolean isAlive = true; public Pig() { - name = PigName; + name = PIG_NAME; } @Override diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java index 64d0e77..83deba8 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Egg.java @@ -1,10 +1,10 @@ package ru.milandr.courses.farm.tkhorzhevskiy.goods; public class Egg extends ParentGood { - private static final String EggName = "Яйцо"; + private static final String EGG_NAME = "Яйцо"; public Egg() { - name=EggName; + name = EGG_NAME; } } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java index ab6581c..3ff6168 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Meat.java @@ -2,10 +2,10 @@ public class Meat extends ParentGood { - private static final String MeatName = "Мясо"; + private static final String MEAT_NAME = "Мясо"; public Meat() { - name=MeatName; + name = MEAT_NAME; } } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java index 9955396..3a15960 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/Milk.java @@ -1,9 +1,9 @@ package ru.milandr.courses.farm.tkhorzhevskiy.goods; -public class Milk extends ParentGood{ - private static final String MilkName = "Молоко"; +public class Milk extends ParentGood { + private static final String MILK_NAME = "Молоко"; public Milk() { - name=MilkName; + name = MILK_NAME; } } diff --git a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java index d58c21c..8f432ee 100644 --- a/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java +++ b/src/ru/milandr/courses/farm/tkhorzhevskiy/goods/ParentGood.java @@ -2,12 +2,12 @@ import ru.milandr.courses.farm.Good; -public class ParentGood implements Good { +public abstract class ParentGood implements Good { protected boolean isRotten; protected String name; - public ParentGood(){ - this.isRotten=false; + public ParentGood() { + this.isRotten = false; } public boolean isRotten() { @@ -31,6 +31,7 @@ public void goRotten() { isRotten = true; } + public String toString() { return this.getName(); } From fb5e5d2a119db56543fef7e475b5563e14567cec Mon Sep 17 00:00:00 2001 From: dmithorzh <92126173+dmithorzh@users.noreply.github.com> Date: Wed, 3 Nov 2021 15:26:36 +0300 Subject: [PATCH 4/4] Create presentationlink --- src/ru/milandr/courses/presentationlink | 1 + 1 file changed, 1 insertion(+) create mode 100644 src/ru/milandr/courses/presentationlink diff --git a/src/ru/milandr/courses/presentationlink b/src/ru/milandr/courses/presentationlink new file mode 100644 index 0000000..81d1ff5 --- /dev/null +++ b/src/ru/milandr/courses/presentationlink @@ -0,0 +1 @@ +https://docs.google.com/presentation/d/1Gphwh3u9eoed_lGBRVItsJ35m7JtNjLd22soQE35AJw/edit#slide=id.gfd67b21091_0_29