From 8f51f4671f85ba53cccad0ce2e014e7dbbb7e758 Mon Sep 17 00:00:00 2001 From: I_like_Space Date: Mon, 23 Sep 2024 20:45:13 +0300 Subject: [PATCH 1/5] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=E2=84=964?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- students/23K0120/23K0120-p04/pom.xml | 13 ++++ .../java/ru/mirea/practice/s23k0120/Main.java | 12 +++ .../practice/s23k0120/atelier/Atelier.java | 34 ++++++++ .../practice/s23k0120/atelier/Clothes.java | 77 +++++++++++++++++++ .../s23k0120/atelier/ClothingSizes.java | 25 ++++++ .../s23k0120/atelier/MenClothing.java | 5 ++ .../s23k0120/atelier/WomenClothing.java | 5 ++ .../mirea/practice/s23k0120/seasons/Main.java | 12 +++ .../practice/s23k0120/seasons/Seasons.java | 55 +++++++++++++ students/23K0120/pom.xml | 1 + 10 files changed, 239 insertions(+) create mode 100644 students/23K0120/23K0120-p04/pom.xml create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Atelier.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/MenClothing.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/WomenClothing.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java diff --git a/students/23K0120/23K0120-p04/pom.xml b/students/23K0120/23K0120-p04/pom.xml new file mode 100644 index 000000000..7fcab1a98 --- /dev/null +++ b/students/23K0120/23K0120-p04/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0120 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0120-p04 + Enum + diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java new file mode 100644 index 000000000..787282b73 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s23k0120; + +public final class Main { + + private Main() { + + } + + public static void main(String[] args) { + System.out.println("первая практическая работа!"); + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Atelier.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Atelier.java new file mode 100644 index 000000000..7a9466f58 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Atelier.java @@ -0,0 +1,34 @@ +package ru.mirea.practice.s23k0120.atelier; + +public abstract class Atelier { + + public static void dressMan(Clothes[] clothes) { + for (Clothes clothe : clothes) { + if (clothe instanceof MenClothing) { + ((MenClothing) clothe).dressMan(); + System.out.print('\n'); + } + } + } + + public static void dressWoman(Clothes[] clothes) { + for (Clothes clothe : clothes) { + if (clothe instanceof WomenClothing) { + ((WomenClothing) clothe).dressWoman(); + System.out.print('\n'); + } + } + } + + public static void main(String[] args) { + Clothes[] clothes = new Clothes[4]; + + clothes[0] = new TShirt(ClothingSizes.XXS, 1000, "Красный"); + clothes[1] = new Pants(ClothingSizes.M, 5000, "Синий"); + clothes[2] = new Skirt(ClothingSizes.L, 10000, "Чёрный"); + clothes[3] = new Tie(ClothingSizes.S, 2000, "Зелёный"); + + dressMan(clothes); + dressWoman(clothes); + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java new file mode 100644 index 000000000..6ed279cf7 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java @@ -0,0 +1,77 @@ +package ru.mirea.practice.s23k0120.atelier; + + +import java.text.NumberFormat; +import java.util.Locale; + +public abstract class Clothes { + ClothingSizes size; + float cost; + String color; + + public Clothes(ClothingSizes size, float cost, String color) { + this.size = size; + this.cost = cost; + this.color = color; + } + + public String getDescription() { + NumberFormat format = NumberFormat.getCurrencyInstance(new Locale("ru", "Ru")); + return String.format("%s, Цена: %s, Цвет: %s", size, format.format(cost), color); + } +} + + +class TShirt extends Clothes implements MenClothing, WomenClothing { + public TShirt(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressMan() { + System.out.printf("Мужская Футболка %s", getDescription()); + } + + @Override + public void dressWoman() { + System.out.printf("Женская Футболка %s", getDescription()); + } +} + +class Pants extends Clothes implements MenClothing, WomenClothing { + public Pants(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressMan() { + System.out.printf("Мужские Брюки %s", getDescription()); + } + + @Override + public void dressWoman() { + System.out.printf("Женские Брюки %s", getDescription()); + } +} + +class Skirt extends Clothes implements WomenClothing { + public Skirt(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressWoman() { + System.out.printf("Юбка %s", getDescription()); + } +} + +class Tie extends Clothes implements MenClothing { + public Tie(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressMan() { + System.out.printf("Галстук %s", getDescription()); + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java new file mode 100644 index 000000000..53b817284 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java @@ -0,0 +1,25 @@ +package ru.mirea.practice.s23k0120.atelier; + +public enum ClothingSizes { + XXS(32), + XS(34), + S(36), + M(38), + L(40); + + final int euroSize; + + ClothingSizes(int euroSize) { + this.euroSize = euroSize; + } + + public String getDescription() { + if (euroSize >= 34) {return "Взрослый размер";} + else {return "Детский размер";} + } + + @Override + public String toString() { + return String.format("%s, %d", getDescription(), this.euroSize); + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/MenClothing.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/MenClothing.java new file mode 100644 index 000000000..3108f5732 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/MenClothing.java @@ -0,0 +1,5 @@ +package ru.mirea.practice.s23k0120.atelier; + +public interface MenClothing { + void dressMan(); +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/WomenClothing.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/WomenClothing.java new file mode 100644 index 000000000..dfebba9d6 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/WomenClothing.java @@ -0,0 +1,5 @@ +package ru.mirea.practice.s23k0120.atelier; + +public interface WomenClothing { + void dressWoman(); +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java new file mode 100644 index 000000000..c9ac61a69 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s23k0120.seasons; + +public abstract class Main { + public static void main(String[] args) { + Seasons season = Seasons.SPRING; + System.out.printf("%s, Длится с 1 марта по 31 мая, Второе время года в году\n", season); + + for (Seasons s: Seasons.values()) { + System.out.printf("%s, %s\n", s, s.getDescription()); + } + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java new file mode 100644 index 000000000..6e4c9ae05 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java @@ -0,0 +1,55 @@ +package ru.mirea.practice.s23k0120.seasons; + +public enum Seasons { + SUMMER(25f), + AUTUMN(5f), + WINTER(-10f), + SPRING(15f); + + private final float temperature; + + Seasons(float temperature) { + this.temperature = temperature; + } + + public float getTemperature() { + return temperature; + } + + public static void iLike(Seasons season) { + String seasonStr; + switch (season) { + case SUMMER: seasonStr = "лето"; break; + case SPRING: seasonStr = "весну"; break; + case AUTUMN: seasonStr = "осень"; break; + case WINTER: seasonStr = "зиму"; break; + default: seasonStr = "-"; break; + } + System.out.printf("Я люблю %s\n", seasonStr); + } + + public String getDescription() { + String season; + switch ((int) temperature) { + case 25: season = "Тёплое"; break; + case 15: season = "Умеренное"; break; + case 5: season = "Прохладное"; break; + case -10: season = "Холодное"; break; + default: season = "-"; break; + } + return String.format("%s время года", season); + } + + @Override + public String toString() { + String season; + switch ((int) temperature) { + case 25: season = "Лето"; break; + case 15: season = "Весна"; break; + case 5: season = "Осень"; break; + case -10: season = "Зима"; break; + default: season = "-"; break; + } + return String.format("Время года - %s, Средняя температура - %.2f°C", season, this.temperature); + } +} \ No newline at end of file diff --git a/students/23K0120/pom.xml b/students/23K0120/pom.xml index 885e42d0e..8a6f7ead2 100644 --- a/students/23K0120/pom.xml +++ b/students/23K0120/pom.xml @@ -16,5 +16,6 @@ 23K0120-p01 23K0120-p02 23K0120-p03 + 23K0120-p04 From 8e588b55f6579c08a58db5500fffca75030a5334 Mon Sep 17 00:00:00 2001 From: I_like_Space Date: Thu, 26 Sep 2024 10:35:21 +0300 Subject: [PATCH 2/5] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=E2=84=964?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/ru/mirea/practice/s23k0120/Main.java | 2 +- .../java/ru/mirea/practice/s23k0120/Main.java | 2 +- students/23K0120/23K0120-p04_1/pom.xml | 13 ++ .../java/ru/mirea/practice/s23k0120/Main.java | 12 ++ .../practice/s23k0120/exercise1/Circle.java | 45 +++++++ .../practice/s23k0120/exercise1/Main.java | 56 ++++++++ .../s23k0120/exercise1/Rectangle.java | 57 +++++++++ .../practice/s23k0120/exercise1/Shape.java | 47 +++++++ .../practice/s23k0120/exercise1/Square.java | 31 +++++ .../mirea/practice/s23k0120/task1/Circle.java | 30 +++++ .../practice/s23k0120/task1/Rectangle.java | 33 +++++ .../mirea/practice/s23k0120/task1/Shape.java | 21 +++ .../mirea/practice/s23k0120/task1/Square.java | 20 +++ .../mirea/practice/s23k0120/task1/Tester.java | 17 +++ .../mirea/practice/s23k0120/task10/Car.java | 32 +++++ .../mirea/practice/s23k0120/task10/Main.java | 19 +++ .../mirea/practice/s23k0120/task10/Plane.java | 33 +++++ .../mirea/practice/s23k0120/task10/Ship.java | 31 +++++ .../mirea/practice/s23k0120/task10/Train.java | 31 +++++ .../practice/s23k0120/task10/Vehicle.java | 59 +++++++++ .../mirea/practice/s23k0120/task2/Main.java | 19 +++ .../mirea/practice/s23k0120/task2/Phone.java | 41 ++++++ .../mirea/practice/s23k0120/task4/Main.java | 28 ++++ .../mirea/practice/s23k0120/task4/Matrix.java | 121 ++++++++++++++++++ .../practice/s23k0120/task7/Learner.java | 32 +++++ .../mirea/practice/s23k0120/task7/Main.java | 28 ++++ .../mirea/practice/s23k0120/task7/Pupil.java | 26 ++++ .../practice/s23k0120/task7/Student.java | 26 ++++ .../mirea/practice/s23k0120/task8/Circle.java | 45 +++++++ .../practice/s23k0120/task8/Rectangle.java | 57 +++++++++ .../mirea/practice/s23k0120/task8/Shape.java | 47 +++++++ .../mirea/practice/s23k0120/task8/Square.java | 31 +++++ .../mirea/practice/s23k0120/task8/Tester.java | 17 +++ 33 files changed, 1107 insertions(+), 2 deletions(-) create mode 100644 students/23K0120/23K0120-p04_1/pom.xml create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/Main.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Shape.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Phone.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Main.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java create mode 100644 students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java diff --git a/students/23K0120/23K0120-p02/src/main/java/ru/mirea/practice/s23k0120/Main.java b/students/23K0120/23K0120-p02/src/main/java/ru/mirea/practice/s23k0120/Main.java index fc55fc3a6..34be8fc10 100644 --- a/students/23K0120/23K0120-p02/src/main/java/ru/mirea/practice/s23k0120/Main.java +++ b/students/23K0120/23K0120-p02/src/main/java/ru/mirea/practice/s23k0120/Main.java @@ -7,6 +7,6 @@ private Main() { } public static void main(String[] args) { - System.out.println("Первая практическая работа!"); + System.out.println("Вторая практическая работа!"); } } diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java index 787282b73..a438361b5 100644 --- a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/Main.java @@ -7,6 +7,6 @@ private Main() { } public static void main(String[] args) { - System.out.println("первая практическая работа!"); + System.out.println("Четвёртая практическая работа!"); } } diff --git a/students/23K0120/23K0120-p04_1/pom.xml b/students/23K0120/23K0120-p04_1/pom.xml new file mode 100644 index 000000000..d172644c6 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/pom.xml @@ -0,0 +1,13 @@ + + + 4.0.0 + + 23K0120 + ru.mirea.practice + 2024.1 + ../pom.xml + + 23K0120-p04_1 + Наследование и Абстракция + diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/Main.java new file mode 100644 index 000000000..23bfad03a --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/Main.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s23k0120; + +public final class Main { + + private Main() { + + } + + public static void main(String[] args) { + System.out.println("Четвёртая практическая работа! - часть 2"); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java new file mode 100644 index 000000000..f9b978f87 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java @@ -0,0 +1,45 @@ +package ru.mirea.practice.s23k0120.exercise1; + +public class Circle extends Shape { + double radius; + + public Circle() { + // Default constructor + } + + public Circle(double radius) { + this.radius = radius; + } + + public Circle(double radius, String color, boolean filled) { + super(color, filled); + this.radius = radius; + } + + public double getRadius() { + return radius; + } + + public void setRadius(float radius) { + this.radius = radius; + } + + @Override + public double getPerimeter() { + return radius*Math.PI*2; + } + + @Override + public double getArea() { + return radius*radius*Math.PI; + } + + @Override + public String toString() { + return "Circle{" + + "radius=" + radius + + ", color='" + color + '\'' + + ", filled=" + filled + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java new file mode 100644 index 000000000..3e039ed0d --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java @@ -0,0 +1,56 @@ +package ru.mirea.practice.s23k0120.exercise1; + +public abstract class Main { + public static void main(String[] args) { + Shape s1 = new Circle(5.5, "RED", false); // Upcast Circle to Shape + System.out.println(s1); //Child class version + System.out.println(s1.getArea()); // Child class version + System.out.println(s1.getPerimeter()); // Child class version + System.out.println(s1.getColor()); // Child class version + System.out.println(s1.isFilled()); // Child class version + //System.out.println(s1.getRadius()); // Cannot resolve method "getRadius" in "Shape" + // (Trying to access Parent class version but it doesn't exist) + // Can't access child version of a method when the object is upcasted, but the method isn't defined in the parent class + + Circle c1 = (Circle)s1;// Downcast back to Circle + System.out.println(c1); // Child class version + System.out.println(c1.getArea()); // Child class version + System.out.println(c1.getPerimeter()); // Child class version + System.out.println(c1.getColor()); // Child class version + System.out.println(c1.isFilled()); // Child class version + System.out.println(c1.getRadius()); // Child class version + Shape s2 = new Shape(); + Shape s3 = new Rectangle(1.0, 2.0, "RED", false); // Upcast + System.out.println(s3); // Child class version + System.out.println(s3.getArea()); // Child class version + System.out.println(s3.getPerimeter()); // Child class version + System.out.println(s3.getColor()); // Child class version + //System.out.println(s3.getLength()); // Cannot resolve method "getLength" in "Shape" (Trying to access Parent class version) + System.out.println("Rectangle r1 = (Rectangle)s3;"); + Rectangle r1 = (Rectangle)s3; //downcast + System.out.println(r1); + System.out.println(r1.getArea()); + System.out.println(r1.getColor()); + System.out.println(r1.getLength()); + Shape s4 = new Square(6.6);//Upcast + System.out.println(s4); + System.out.println(s4.getArea()); + System.out.println(s4.getColor()); + //System.out.println(s4.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) +/*обратите внимание, что выполняем downcast Shape s4 к +Rectangle, который является суперклассом +Square(родителем), вместо Square */ + Rectangle r2 = (Rectangle)s4; + System.out.println(r2); System.out.println(r2.getArea()); + System.out.println(r2.getColor()); + //System.out.println(r2.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) + System.out.println(r2.getLength()); +// Downcast Rectangle r2 к Square + Square sq1 = (Square)r2; + System.out.println(sq1); + System.out.println(sq1.getArea()); + System.out.println(sq1.getColor()); + //System.out.println(sq1.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) + System.out.println(sq1.getLength()); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java new file mode 100644 index 000000000..ba4765ce8 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java @@ -0,0 +1,57 @@ +package ru.mirea.practice.s23k0120.exercise1; + +public class Rectangle extends Shape { + protected double width = 0; + protected double length = 0; + + public Rectangle() { + // Default constructor + } + + public Rectangle(double width, double length) { + this.width = width; + this.length = length; + } + + public Rectangle(double width, double length, String color, boolean filled) { + super(color, filled); + this.width = width; + this.length = length; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getLength() { + return length; + } + + public void setLength(double length) { + this.length = length; + } + + @Override + public double getPerimeter() { + return width*2 + length*2; + } + + @Override + public double getArea() { + return width*length; + } + + @Override + public String toString() { + return "Rectangle{" + + "width=" + width + + ", length=" + length + + ", filled=" + filled + + ", color='" + color + '\'' + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java new file mode 100644 index 000000000..5f60fb4e8 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java @@ -0,0 +1,47 @@ +package ru.mirea.practice.s23k0120.exercise1; + +public class Shape { + protected String color; + protected boolean filled; + + public Shape() { + // Default constructor + } + public Shape(String color, boolean filled) { + this.color = color; + this.filled = filled; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public boolean isFilled() { + return filled; + } + + public void setFilled(boolean filled) { + this.filled = filled; + } + + + public double getArea() { + return 0; + } + + public double getPerimeter() { + return 0; + } + + @Override + public String toString() { + return "Shape{" + + "color='" + color + '\'' + + ", filled=" + filled + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java new file mode 100644 index 000000000..b6bcd3662 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java @@ -0,0 +1,31 @@ +package ru.mirea.practice.s23k0120.exercise1; + +public class Square extends Rectangle { + + public Square() { + // Default constructor + } + + public Square(double side) { + super(side, side); + } + + public Square(double side, String color, boolean filled) { + super(side, side, color, filled); + } + + + public void setSide(double side) { + this.width = side; + this.length = side; + } + + @Override + public String toString() { + return "Square{" + + "side=" + width + + ", filled=" + filled + + ", color='" + color + '\'' + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java new file mode 100644 index 000000000..7d84e178b --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java @@ -0,0 +1,30 @@ +package ru.mirea.practice.s23k0120.task1; + +public class Circle extends Shape{ + float radius; + public Circle(float radius) { + this.radius = radius; + } + + @Override + public String getType() { + return "Circle"; + } + + @Override + public float getPerimeter() { + return (float)(radius*Math.PI*2); + } + + @Override + public float getArea() { + return (float)(radius*radius*Math.PI); + } + + @Override + public String toString() { + return "Circle{" + + "radius=" + radius + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java new file mode 100644 index 000000000..646073f0d --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java @@ -0,0 +1,33 @@ +package ru.mirea.practice.s23k0120.task1; + +public class Rectangle extends Shape{ + float width; + float height; + public Rectangle(float width, float height) { + this.width = width; + this.height = height; + } + + @Override + public String getType() { + return "Rectangle"; + } + + @Override + public float getPerimeter() { + return (float)(width*2 + height*2); + } + + @Override + public float getArea() { + return (float)(width*height); + } + + @Override + public String toString() { + return "Rectangle{" + + "width=" + width + + ", length=" + height + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Shape.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Shape.java new file mode 100644 index 000000000..53b93028c --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Shape.java @@ -0,0 +1,21 @@ +package ru.mirea.practice.s23k0120.task1; + +public class Shape { + + public String getType() { + return "Shape"; + } + + public float getArea() { + return 0; + } + + public float getPerimeter() { + return 0; + } + + @Override + public String toString() { + return "Shape"; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java new file mode 100644 index 000000000..48cd225a7 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java @@ -0,0 +1,20 @@ +package ru.mirea.practice.s23k0120.task1; + +public class Square extends Rectangle{ + + public Square(float side) { + super(side, side); + } + + @Override + public String getType() { + return "Square"; + } + + @Override + public String toString() { + return "Square{" + + "side=" + width + + "}"; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java new file mode 100644 index 000000000..d6ba6575f --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s23k0120.task1; + +public abstract class Tester { + public static void main(String[] args) { + Circle circle = new Circle(5); + Rectangle rect = new Rectangle(10, 15); + Square square = new Square(20); + + Shape[] shapes = {circle, rect, square}; + + for (Shape shape: shapes) { + System.out.printf("%s, %s Perimeter: %f Area: %f\n", + shape.getType(), shape, + shape.getPerimeter(), shape.getArea()); + } + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java new file mode 100644 index 000000000..76d33d628 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java @@ -0,0 +1,32 @@ +package ru.mirea.practice.s23k0120.task10; + +public class Car extends Vehicle{ + + public Car() { + // Default constructor + } + + public Car(double speed, double cost, int passengerSeats) { + super(speed, cost, passengerSeats); + } + + public Car(double speed, double cost, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + + public Car(double speed, double cost, int passengerSeats, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + + @Override + public void transportPassengers(int numOfPassengers, double distance) { + super.transportPassengers(numOfPassengers, distance); + System.out.print(" via car"); + } + + @Override + public void transportCargo(double weight, double distance) { + super.transportCargo(weight, distance); + System.out.print(" via car"); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java new file mode 100644 index 000000000..f7a00a473 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s23k0120.task10; + +public class Main { + public static void main(String[] args) { + Car car = new Car(110f, 200f, 4, 300); + Plane plane = new Plane(950f, 5000f, 20, 5000); + Train train = new Train(250f, 150f, 500, 5000000); + Ship ship = new Ship(1.852*15, 150f, 20, 120000000); + + Vehicle[] vehicles = new Vehicle[]{car, plane, train, ship}; + + for (Vehicle vehicle: vehicles) { + vehicle.transportPassengers(500, 1000); + System.out.println(); + vehicle.transportCargo(1000 * 1000, 1000); + System.out.println(); + } + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java new file mode 100644 index 000000000..b0de0d0ff --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java @@ -0,0 +1,33 @@ +package ru.mirea.practice.s23k0120.task10; + +public class Plane extends Vehicle{ + + public Plane() { + // Default constructor + } + + public Plane(double speed, double cost, int passengerSeats) { + super(speed, cost, passengerSeats); + } + + public Plane(double speed, double cost, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + + public Plane(double speed, double cost, int passengerSeats, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + + @Override + public void transportPassengers(int numOfPassengers, double distance) { + super.transportPassengers(numOfPassengers, distance); + System.out.print(" via plane"); + } + + @Override + public void transportCargo(double weight, double distance) { + super.transportCargo(weight, distance); + System.out.print(" via plane"); + } + +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java new file mode 100644 index 000000000..5beb3dcd3 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java @@ -0,0 +1,31 @@ +package ru.mirea.practice.s23k0120.task10; + +public class Ship extends Vehicle{ + + public Ship() { + // Default constructor + } + + public Ship(double speed, double cost, int passengerSeats) { + super(speed, cost, passengerSeats); + } + + public Ship(double speed, double cost, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + + public Ship(double speed, double cost, int passengerSeats, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + @Override + public void transportPassengers(int numOfPassengers, double distance) { + super.transportPassengers(numOfPassengers, distance); + System.out.print(" via plane"); + } + + @Override + public void transportCargo(double weight, double distance) { + super.transportCargo(weight, distance); + System.out.print(" via plane"); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java new file mode 100644 index 000000000..404654d3f --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java @@ -0,0 +1,31 @@ +package ru.mirea.practice.s23k0120.task10; + +public class Train extends Vehicle{ + + public Train() { + // Default constructor + } + + public Train(double speed, double cost, int passengerSeats) { + super(speed, cost, passengerSeats); + } + + public Train(double speed, double cost, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + + public Train(double speed, double cost, int passengerSeats, double cargoCapacity) { + super(speed, cost, cargoCapacity); + } + @Override + public void transportPassengers(int numOfPassengers, double distance) { + super.transportPassengers(numOfPassengers, distance); + System.out.print(" via train"); + } + + @Override + public void transportCargo(double weight, double distance) { + super.transportCargo(weight, distance); + System.out.print(" via train"); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java new file mode 100644 index 000000000..14675948c --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java @@ -0,0 +1,59 @@ +package ru.mirea.practice.s23k0120.task10; + +public class Vehicle { + protected double speed; // Km/h + protected int passengerSeats; //Num of seats + protected double cost; // $/(1000 km * 100 kg) + protected double cargoCapacity; // kg + + public Vehicle() { + // Default constructor + }; + public Vehicle(double speed, double cost, int passengerSeats) { + this.speed = speed; + this.cost = cost; + this.passengerSeats = passengerSeats; + } + + public Vehicle(double speed, double cost, double cargoCapacity) { + this.speed = speed; + this.cost = cost; + this.cargoCapacity = cargoCapacity; + } + + public Vehicle(double speed, double cost, int passengerSeats, double cargoCapacity) { + this.speed = speed; + this.cost = cost; + this.passengerSeats = passengerSeats; + this.cargoCapacity = cargoCapacity; + } + + public double getSpeed() { + return speed; + } + + public double getCost() { + return cost; + } + + public double getCargoCapacity() { + return cargoCapacity; + } + + public int getPassengerSeats() { + return passengerSeats; + } + public void transportPassengers(int numOfPassengers, double distance) { + double cost = distance * (numOfPassengers*80) * this.cost / (1000 * 100); + double time = distance/this.speed; + System.out.printf("It would cost $ %.2f to transfer %d passengers for %.3f km for %.3f hours", + cost, numOfPassengers, distance, time); + } + + public void transportCargo(double weight, double distance) { + double cost = distance * weight *this.cost / (1000 * 100) ; + double time = distance/this.speed; + System.out.printf("It would cost $ %f to transfer %f cargo for %f km for %f hours", + cost, weight, distance, time); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java new file mode 100644 index 000000000..788a1cf8e --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java @@ -0,0 +1,19 @@ +package ru.mirea.practice.s23k0120.task2; + +public abstract class Main { + public static void main(String[] args) { + Phone phone1 = new Phone("1234", "Xiaomi", 250f); + Phone phone2 = new Phone("+7911", "iPhone", 125.3f); + Phone phone3 = new Phone("+9528", "Samsung", 212f); + + phone1.recieveCall("Саня"); + + System.out.println(phone1.getNumber()); + System.out.println(phone2.getNumber()); + System.out.println(phone3.getNumber()); + + phone3.recieveCall("Даня", "777"); + + phone2.sendMessage("333", "1917", "2024", "88005553535"); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Phone.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Phone.java new file mode 100644 index 000000000..9ef5f4dd3 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Phone.java @@ -0,0 +1,41 @@ +package ru.mirea.practice.s23k0120.task2; + +public class Phone { + String number; + String model; + float weight = 0; + + public Phone() { + // Default constructor + } + + public Phone(String number, String model) { + this.number = number; + this.model = model; + } + + public Phone(String number, String model, float weight) { + Phone phone = new Phone(number, model); + this.number = phone.number; + this.model = phone.number; + this.weight = weight; + } + + public void recieveCall(String caller) { + System.out.println("Звонит " + caller); + } + + public void recieveCall(String caller, String number) { + System.out.println("Звонит " + caller + " по номеру " + number); + } + + public void sendMessage(String... args) { + for (String arg : args) { + System.out.println(arg); + } + } + + public String getNumber() { + return number; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Main.java new file mode 100644 index 000000000..e84c8a6d3 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Main.java @@ -0,0 +1,28 @@ +package ru.mirea.practice.s23k0120.task4; + +public abstract class Main { + public static void main(String[] args) { + Matrix matr1 = new Matrix(new float[][]{{1, 2, 3}, {3, 4, 5}}); + + Matrix matr2 = new Matrix(new float[][]{{1, 1, 1}, {2, 2, 2}}); + + System.out.printf("rows = %d columns = %d\n", matr1.getRows(), matr1.getColumns()); + + System.out.println(matr1); + System.out.println(matr2); + + System.out.println(Matrix.add(matr2, matr1)); + matr1.add(new Matrix(new float[][]{{1, 1, 1}, {-10, -10, -10}})); + System.out.println(matr1); + + Matrix matr3 = new Matrix(new float[][]{{1, 2}, {3, 4}}); + Matrix matr4 = new Matrix(new float[][]{{1, 1}}); + Matrix matr5 = new Matrix(new float[][]{{1}, {0}}); + + System.out.println(matr4.size()); + System.out.println(matr3.multiplyLeft(matr4)); + System.out.println(matr5.multiplyLeft(matr3)); + + System.out.println(Matrix.multiply(matr4, matr5)); + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java new file mode 100644 index 000000000..f7c93bae3 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java @@ -0,0 +1,121 @@ +package ru.mirea.practice.s23k0120.task4; + +import java.util.Arrays; + +public class Matrix { + private float[][] values; + private int rows; + private int columns; + + public Matrix(float[][] arr) { + this.values = arr; + this.rows = arr.length; + this.columns = arr[0].length; + } + + public int getRows() { + return rows; + } + + public int getColumns() { + return columns; + } + + public void add(Matrix matrix) { + if (matrix.columns != this.getColumns() || matrix.rows != this.getRows()) { + throw new RuntimeException(String.format("Size mismatch error: attempting to add %s to %s", matrix.size(), this.size())); + } + for (int i = 0; i < rows; i++) { + for (int j = 0; j < columns; j++) { + this.values[i][j] = matrix.values[i][j]; + } + } + } + + public static Matrix add(Matrix matrixA, Matrix matrixB) { + if (matrixA.columns != matrixB.getColumns() || matrixA.rows != matrixB.getRows()) { + throw new RuntimeException(String.format("Size mismatch error: attempting to add %s to %s", matrixB.size(), matrixB.size())); + } + Matrix matrix = new Matrix(new float[matrixB.rows][matrixA.columns]); + + for (int i = 0; i < matrixA.rows; i++) { + for (int j = 0; j < matrixA.columns; j++) { + matrix.values[i][j] = matrixA.values[i][j] + matrixB.values[i][j]; + } + } + return matrix; + } + + public void multiply(float scalar) { + for (int i = 0; i < rows; i++) { + for (int j = 0; j < columns; j++) { + this.values[i][j] *= scalar; + } + } + } + + public static Matrix multiply(Matrix matrix, float scalar) { + Matrix matrixA = new Matrix(new float[matrix.rows][matrix.columns]); + + for (int i = 0; i < matrixA.rows; i++) { + for (int j = 0; j < matrixA.columns; j++) { + matrix.values[i][j] *= scalar; + } + } + return matrixA; + } + + public Matrix multiplyRight(Matrix matrix) { + if (matrix.getRows() != this.columns) { + throw new RuntimeException(String.format("Size mismatch error: attempting to multiply %s to %s", matrix.size(), this.size())); + } + float cellSum = 0; + Matrix matrix1 = new Matrix(new float[this.rows][matrix.columns]); + for (int i = 0; i < this.rows; i++) { + for (int j = 0; j < matrix.columns; j++) { + for (int k = 0; k < this.columns; k++) { + cellSum += this.values[i][k] * matrix.values[k][j]; + } + matrix1.values[i][j] = cellSum; + cellSum = 0; + } + } + return matrix1; + } + + public Matrix multiplyLeft(Matrix matrix) { + if (this.getRows() != matrix.columns) { + throw new RuntimeException(String.format("Size mismatch error: attempting to multiply %s to %s", matrix.size(), this.size())); + } + float cellSum = 0; + Matrix matrix1 = new Matrix(new float[matrix.rows][this.columns]); + for (int i = 0; i < matrix.rows; i++) { + for (int j = 0; j < this.columns; j++) { + for (int k = 0; k < matrix.columns; k++) { + cellSum += matrix.values[i][k] * this.values[k][j]; + } + matrix1.values[i][j] = cellSum; + cellSum = 0; + } + } + return matrix1; + } + + public static Matrix multiply(Matrix matrixA, Matrix matrixB) { + return matrixA.multiplyRight(matrixB); + } + + @Override + public String toString() { + StringBuilder stringBuilder = new StringBuilder(); + for (float[] row: values) { + stringBuilder.append(Arrays.toString(row)); + stringBuilder.append('\n'); + } + return stringBuilder.toString(); + } + + public String size() { + return "Matrix{" + this.rows + "x" + this.columns + "}"; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java new file mode 100644 index 000000000..a65096bdf --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java @@ -0,0 +1,32 @@ +package ru.mirea.practice.s23k0120.task7; + +public class Learner { + String name; + int age; + float averageGrade; + public Learner() { + // Default constructor + } + public Learner(String name, int age) { + this.name = name; + this.age = age; + } + public Learner(String name, int age, float grade) { + Learner learner = new Learner(name, age); + this.name = learner.name; + this.age = learner.age; + this.averageGrade = grade; + } + + public void study() { + System.out.println(name + " учится"); + } + + @Override + public String toString() { + return "Учащийся{" + + "ФИО= " + name + + ", Возраст=" + age + + " лет}"; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java new file mode 100644 index 000000000..b0a818137 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java @@ -0,0 +1,28 @@ +package ru.mirea.practice.s23k0120.task7; + +public abstract class Main { + public static void main(String[] args) { + Student student1 = new Student("Иванов Иван Иванович", 19, 4.3f); + Student student2 = new Student("Соколов Петр Петрович", 18, 4.8f); + Student student3 = new Student("Стрижов Андрей Владимирович", 19, 3.2f); + Pupil pupil1 = new Pupil("Смирнова Анастасия Сергеевна", 14, 4.5f); + Pupil pupil2 = new Pupil("Чижиков Василий Ильич", 14, 2.3f); + Learner[] learners; + learners = new Learner[]{student1, pupil1, student2, student3, pupil2}; + + for (Learner learner: learners) { + if (learner instanceof Pupil) { + System.out.println(learner); + } + } + for (Learner learner: learners) { + if (learner instanceof Student) { + System.out.println(learner); + } + } + + for (Learner learner: learners) { + learner.study(); + } + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java new file mode 100644 index 000000000..1203420fb --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java @@ -0,0 +1,26 @@ +package ru.mirea.practice.s23k0120.task7; + +public class Pupil extends Learner { + public Pupil() { + super(); + } + public Pupil(String name, int age) { + super(name, age); + } + public Pupil(String name, int age, float grade) { + super(name, age, grade); + } + + @Override + public void study() { + System.out.println(name + " делает домашку"); + } + + @Override + public String toString() { + return "Школьник{" + + "ФИО= " + name + + ", Возраст=" + age + + " лет}"; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java new file mode 100644 index 000000000..f58b802cd --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java @@ -0,0 +1,26 @@ +package ru.mirea.practice.s23k0120.task7; + +public class Student extends Learner { + public Student() { + super(); + } + public Student(String name, int age) { + super(name, age); + } + public Student(String name, int age, float grade) { + super(name, age, grade); + } + + @Override + public void study() { + System.out.println(name + " сидит на парах"); + } + + @Override + public String toString() { + return "Студент{" + + "ФИО= " + this.name + + ", Возраст=" + this.age + + " лет}"; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java new file mode 100644 index 000000000..56dafac98 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java @@ -0,0 +1,45 @@ +package ru.mirea.practice.s23k0120.task8; + +public class Circle extends Shape { + double radius; + + public Circle() { + // Default constructor + } + + public Circle(double radius) { + this.radius = radius; + } + + public Circle(float radius, String color, boolean filled) { + super(color, filled); + this.radius = radius; + } + + public double getRadius() { + return radius; + } + + public void setRadius(float radius) { + this.radius = radius; + } + + @Override + public double getPerimeter() { + return radius*Math.PI*2; + } + + @Override + public double getArea() { + return radius*radius*Math.PI; + } + + @Override + public String toString() { + return "Circle{" + + "radius=" + radius + + ", color='" + color + '\'' + + ", filled=" + filled + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java new file mode 100644 index 000000000..17e127e54 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java @@ -0,0 +1,57 @@ +package ru.mirea.practice.s23k0120.task8; + +public class Rectangle extends Shape { + protected double width = 0; + protected double length = 0; + + public Rectangle() { + // Default constructor + } + + public Rectangle(double width, double length) { + this.width = width; + this.length = length; + } + + public Rectangle(double width, double length, String color, boolean filled) { + super(color, filled); + this.width = width; + this.length = length; + } + + public double getWidth() { + return width; + } + + public void setWidth(double width) { + this.width = width; + } + + public double getLength() { + return length; + } + + public void setLength(double length) { + this.length = length; + } + + @Override + public double getPerimeter() { + return width*2 + length*2; + } + + @Override + public double getArea() { + return width*length; + } + + @Override + public String toString() { + return "Rectangle{" + + "width=" + width + + ", length=" + length + + ", filled=" + filled + + ", color='" + color + '\'' + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java new file mode 100644 index 000000000..f0c9da4fd --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java @@ -0,0 +1,47 @@ +package ru.mirea.practice.s23k0120.task8; + +public abstract class Shape { + protected String color; + protected boolean filled; + + public Shape() { + // Default constructor + } + public Shape(String color, boolean filled) { + this.color = color; + this.filled = filled; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public boolean isFilled() { + return filled; + } + + public void setFilled(boolean filled) { + this.filled = filled; + } + + + public double getArea() { + return 0; + } + + public double getPerimeter() { + return 0; + } + + @Override + public String toString() { + return "Shape{" + + "color='" + color + '\'' + + ", filled=" + filled + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java new file mode 100644 index 000000000..b6c44c6ac --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java @@ -0,0 +1,31 @@ +package ru.mirea.practice.s23k0120.task8; + +public class Square extends Rectangle { + + public Square() { + // Default constructor + } + + public Square(float side) { + super(side, side); + } + + public Square(float side, String color, boolean filled) { + super(side, side, color, filled); + } + + + public void setSide(double side) { + this.width = side; + this.length = side; + } + + @Override + public String toString() { + return "Rectangle{" + + "side=" + width + + ", filled=" + filled + + ", color='" + color + '\'' + + '}'; + } +} diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java new file mode 100644 index 000000000..1d8d8d5a0 --- /dev/null +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s23k0120.task8; + +public class Tester { + public static void main(String[] args) { + Circle circle = new Circle(5); + Rectangle rect = new Rectangle(10, 15); + Square square = new Square(20); + + Shape[] shapes = {circle, rect, square}; + + for (Shape shape: shapes) { + System.out.printf("%s Perimeter: %f Area: %f\n", + shape, + shape.getPerimeter(), shape.getArea()); + } + } +} From 7805ba8897d3ae301481db9fcf6971e3ecfbe31b Mon Sep 17 00:00:00 2001 From: I_like_Space Date: Thu, 26 Sep 2024 11:03:05 +0300 Subject: [PATCH 3/5] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=E2=84=964=20(=D0=92=D0=B5?= =?UTF-8?q?=D1=80.=201.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/ru/mirea/practice/s23k0120/exercise1/Main.java | 1 + .../src/main/java/ru/mirea/practice/s23k0120/task10/Car.java | 2 +- .../src/main/java/ru/mirea/practice/s23k0120/task10/Main.java | 2 +- .../src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java | 2 +- .../src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java | 2 +- .../src/main/java/ru/mirea/practice/s23k0120/task10/Train.java | 2 +- .../main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java | 2 +- .../src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java | 2 +- students/23K0120/pom.xml | 1 + 9 files changed, 9 insertions(+), 7 deletions(-) diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java index 3e039ed0d..20b1a3ad2 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java @@ -20,6 +20,7 @@ public static void main(String[] args) { System.out.println(c1.isFilled()); // Child class version System.out.println(c1.getRadius()); // Child class version Shape s2 = new Shape(); + System.out.println(s2); Shape s3 = new Rectangle(1.0, 2.0, "RED", false); // Upcast System.out.println(s3); // Child class version System.out.println(s3.getArea()); // Child class version diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java index 76d33d628..33729ca9d 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java @@ -15,7 +15,7 @@ public Car(double speed, double cost, double cargoCapacity) { } public Car(double speed, double cost, int passengerSeats, double cargoCapacity) { - super(speed, cost, cargoCapacity); + super(speed, cost, passengerSeats, cargoCapacity); } @Override diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java index f7a00a473..dd7d77026 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task10; -public class Main { +public abstract class Main { public static void main(String[] args) { Car car = new Car(110f, 200f, 4, 300); Plane plane = new Plane(950f, 5000f, 20, 5000); diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java index b0de0d0ff..33c1f8631 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java @@ -15,7 +15,7 @@ public Plane(double speed, double cost, double cargoCapacity) { } public Plane(double speed, double cost, int passengerSeats, double cargoCapacity) { - super(speed, cost, cargoCapacity); + super(speed, cost, passengerSeats, cargoCapacity); } @Override diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java index 5beb3dcd3..3d1a59c4f 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java @@ -15,7 +15,7 @@ public Ship(double speed, double cost, double cargoCapacity) { } public Ship(double speed, double cost, int passengerSeats, double cargoCapacity) { - super(speed, cost, cargoCapacity); + super(speed, cost, passengerSeats, cargoCapacity); } @Override public void transportPassengers(int numOfPassengers, double distance) { diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java index 404654d3f..b2600201b 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java @@ -15,7 +15,7 @@ public Train(double speed, double cost, double cargoCapacity) { } public Train(double speed, double cost, int passengerSeats, double cargoCapacity) { - super(speed, cost, cargoCapacity); + super(speed, cost, passengerSeats, cargoCapacity); } @Override public void transportPassengers(int numOfPassengers, double distance) { diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java index 14675948c..baeb31c40 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java @@ -8,7 +8,7 @@ public class Vehicle { public Vehicle() { // Default constructor - }; + } public Vehicle(double speed, double cost, int passengerSeats) { this.speed = speed; this.cost = cost; diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java index 1d8d8d5a0..88f5ec23d 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task8; -public class Tester { +public abstract class Tester { public static void main(String[] args) { Circle circle = new Circle(5); Rectangle rect = new Rectangle(10, 15); diff --git a/students/23K0120/pom.xml b/students/23K0120/pom.xml index fdccaca55..787f0c4b0 100644 --- a/students/23K0120/pom.xml +++ b/students/23K0120/pom.xml @@ -17,5 +17,6 @@ 23K0120-p01 23K0120-p03 23K0120-p04 + 23K0120-p04_1 From 17bd5c0c5c41c821d74df54037aca47057c011bc Mon Sep 17 00:00:00 2001 From: I_like_Space Date: Thu, 26 Sep 2024 19:15:28 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=E2=84=964=20(=D0=92=D0=B5?= =?UTF-8?q?=D1=80.=201.2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../practice/s23k0120/atelier/Clothes.java | 57 +---------------- .../s23k0120/atelier/ClothingSizes.java | 13 ++-- .../practice/s23k0120/atelier/Pants.java | 17 +++++ .../practice/s23k0120/atelier/Skirt.java | 12 ++++ .../practice/s23k0120/atelier/TShirt.java | 18 ++++++ .../mirea/practice/s23k0120/atelier/Tie.java | 12 ++++ .../mirea/practice/s23k0120/seasons/Main.java | 2 +- .../practice/s23k0120/seasons/Seasons.java | 62 ++++++++++++++----- .../practice/s23k0120/exercise1/Circle.java | 10 +-- .../practice/s23k0120/exercise1/Main.java | 19 +++--- .../s23k0120/exercise1/Rectangle.java | 11 +--- .../practice/s23k0120/exercise1/Shape.java | 6 +- .../practice/s23k0120/exercise1/Square.java | 6 +- .../mirea/practice/s23k0120/task1/Circle.java | 11 ++-- .../practice/s23k0120/task1/Rectangle.java | 12 ++-- .../mirea/practice/s23k0120/task1/Square.java | 6 +- .../mirea/practice/s23k0120/task1/Tester.java | 6 +- .../mirea/practice/s23k0120/task10/Car.java | 2 +- .../mirea/practice/s23k0120/task10/Main.java | 4 +- .../mirea/practice/s23k0120/task10/Plane.java | 2 +- .../mirea/practice/s23k0120/task10/Ship.java | 3 +- .../mirea/practice/s23k0120/task10/Train.java | 3 +- .../practice/s23k0120/task10/Vehicle.java | 16 ++--- .../mirea/practice/s23k0120/task2/Main.java | 6 +- .../mirea/practice/s23k0120/task4/Matrix.java | 12 ++-- .../practice/s23k0120/task7/Learner.java | 8 +-- .../mirea/practice/s23k0120/task7/Main.java | 6 +- .../mirea/practice/s23k0120/task7/Pupil.java | 7 +-- .../practice/s23k0120/task7/Student.java | 7 +-- .../mirea/practice/s23k0120/task8/Circle.java | 10 +-- .../practice/s23k0120/task8/Rectangle.java | 11 +--- .../mirea/practice/s23k0120/task8/Shape.java | 6 +- .../mirea/practice/s23k0120/task8/Square.java | 6 +- .../mirea/practice/s23k0120/task8/Tester.java | 6 +- 34 files changed, 195 insertions(+), 200 deletions(-) create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Pants.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Skirt.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/TShirt.java create mode 100644 students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Tie.java diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java index 6ed279cf7..18d9db361 100644 --- a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Clothes.java @@ -19,59 +19,4 @@ public String getDescription() { NumberFormat format = NumberFormat.getCurrencyInstance(new Locale("ru", "Ru")); return String.format("%s, Цена: %s, Цвет: %s", size, format.format(cost), color); } -} - - -class TShirt extends Clothes implements MenClothing, WomenClothing { - public TShirt(ClothingSizes size, float cost, String color) { - super(size, cost, color); - } - - @Override - public void dressMan() { - System.out.printf("Мужская Футболка %s", getDescription()); - } - - @Override - public void dressWoman() { - System.out.printf("Женская Футболка %s", getDescription()); - } -} - -class Pants extends Clothes implements MenClothing, WomenClothing { - public Pants(ClothingSizes size, float cost, String color) { - super(size, cost, color); - } - - @Override - public void dressMan() { - System.out.printf("Мужские Брюки %s", getDescription()); - } - - @Override - public void dressWoman() { - System.out.printf("Женские Брюки %s", getDescription()); - } -} - -class Skirt extends Clothes implements WomenClothing { - public Skirt(ClothingSizes size, float cost, String color) { - super(size, cost, color); - } - - @Override - public void dressWoman() { - System.out.printf("Юбка %s", getDescription()); - } -} - -class Tie extends Clothes implements MenClothing { - public Tie(ClothingSizes size, float cost, String color) { - super(size, cost, color); - } - - @Override - public void dressMan() { - System.out.printf("Галстук %s", getDescription()); - } -} +} \ No newline at end of file diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java index 53b817284..57f0a8d39 100644 --- a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/ClothingSizes.java @@ -1,11 +1,7 @@ package ru.mirea.practice.s23k0120.atelier; public enum ClothingSizes { - XXS(32), - XS(34), - S(36), - M(38), - L(40); + XXS(32), XS(34), S(36), M(38), L(40); final int euroSize; @@ -14,8 +10,11 @@ public enum ClothingSizes { } public String getDescription() { - if (euroSize >= 34) {return "Взрослый размер";} - else {return "Детский размер";} + if (euroSize >= 34) { + return "Взрослый размер"; + } else { + return "Детский размер"; + } } @Override diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Pants.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Pants.java new file mode 100644 index 000000000..411ca902b --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Pants.java @@ -0,0 +1,17 @@ +package ru.mirea.practice.s23k0120.atelier; + +public class Pants extends Clothes implements MenClothing, WomenClothing { + public Pants(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressMan() { + System.out.printf("Мужские Брюки %s", getDescription()); + } + + @Override + public void dressWoman() { + System.out.printf("Женские Брюки %s", getDescription()); + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Skirt.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Skirt.java new file mode 100644 index 000000000..b62a63f3b --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Skirt.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s23k0120.atelier; + +public class Skirt extends Clothes implements WomenClothing { + public Skirt(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressWoman() { + System.out.printf("Юбка %s", getDescription()); + } +} \ No newline at end of file diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/TShirt.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/TShirt.java new file mode 100644 index 000000000..52304c691 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/TShirt.java @@ -0,0 +1,18 @@ +package ru.mirea.practice.s23k0120.atelier; + +public class TShirt extends Clothes implements MenClothing, WomenClothing { + public TShirt(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressMan() { + System.out.printf("Мужская Футболка %s", getDescription()); + } + + @Override + public void dressWoman() { + System.out.printf("Женская Футболка %s", getDescription()); + } +} + diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Tie.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Tie.java new file mode 100644 index 000000000..a550867d0 --- /dev/null +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/atelier/Tie.java @@ -0,0 +1,12 @@ +package ru.mirea.practice.s23k0120.atelier; + +public class Tie extends Clothes implements MenClothing { + public Tie(ClothingSizes size, float cost, String color) { + super(size, cost, color); + } + + @Override + public void dressMan() { + System.out.printf("Галстук %s", getDescription()); + } +} diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java index c9ac61a69..4ca2b96a1 100644 --- a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Main.java @@ -5,7 +5,7 @@ public static void main(String[] args) { Seasons season = Seasons.SPRING; System.out.printf("%s, Длится с 1 марта по 31 мая, Второе время года в году\n", season); - for (Seasons s: Seasons.values()) { + for (Seasons s : Seasons.values()) { System.out.printf("%s, %s\n", s, s.getDescription()); } } diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java index 6e4c9ae05..5cc76eeec 100644 --- a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java @@ -16,14 +16,24 @@ public float getTemperature() { return temperature; } - public static void iLike(Seasons season) { + public static void like(Seasons season) { String seasonStr; switch (season) { - case SUMMER: seasonStr = "лето"; break; - case SPRING: seasonStr = "весну"; break; - case AUTUMN: seasonStr = "осень"; break; - case WINTER: seasonStr = "зиму"; break; - default: seasonStr = "-"; break; + case SUMMER: + seasonStr = "лето"; + break; + case SPRING: + seasonStr = "весну"; + break; + case AUTUMN: + seasonStr = "осень"; + break; + case WINTER: + seasonStr = "зиму"; + break; + default: + seasonStr = "-"; + break; } System.out.printf("Я люблю %s\n", seasonStr); } @@ -31,11 +41,21 @@ public static void iLike(Seasons season) { public String getDescription() { String season; switch ((int) temperature) { - case 25: season = "Тёплое"; break; - case 15: season = "Умеренное"; break; - case 5: season = "Прохладное"; break; - case -10: season = "Холодное"; break; - default: season = "-"; break; + case 25: + season = "Тёплое"; + break; + case 15: + season = "Умеренное"; + break; + case 5: + season = "Прохладное"; + break; + case -10: + season = "Холодное"; + break; + default: + season = "-"; + break; } return String.format("%s время года", season); } @@ -44,11 +64,21 @@ public String getDescription() { public String toString() { String season; switch ((int) temperature) { - case 25: season = "Лето"; break; - case 15: season = "Весна"; break; - case 5: season = "Осень"; break; - case -10: season = "Зима"; break; - default: season = "-"; break; + case 25: + season = "Лето"; + break; + case 15: + season = "Весна"; + break; + case 5: + season = "Осень"; + break; + case -10: + season = "Зима"; + break; + default: + season = "-"; + break; } return String.format("Время года - %s, Средняя температура - %.2f°C", season, this.temperature); } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java index f9b978f87..ec50bc96f 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Circle.java @@ -26,20 +26,16 @@ public void setRadius(float radius) { @Override public double getPerimeter() { - return radius*Math.PI*2; + return radius * Math.PI * 2; } @Override public double getArea() { - return radius*radius*Math.PI; + return radius * radius * Math.PI; } @Override public String toString() { - return "Circle{" + - "radius=" + radius + - ", color='" + color + '\'' + - ", filled=" + filled + - '}'; + return "Circle{" + "radius=" + radius + ", color='" + color + '\'' + ", filled=" + filled + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java index 20b1a3ad2..c405951b4 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java @@ -12,7 +12,7 @@ public static void main(String[] args) { // (Trying to access Parent class version but it doesn't exist) // Can't access child version of a method when the object is upcasted, but the method isn't defined in the parent class - Circle c1 = (Circle)s1;// Downcast back to Circle + Circle c1 = (Circle) s1;// Downcast back to Circle System.out.println(c1); // Child class version System.out.println(c1.getArea()); // Child class version System.out.println(c1.getPerimeter()); // Child class version @@ -28,7 +28,7 @@ public static void main(String[] args) { System.out.println(s3.getColor()); // Child class version //System.out.println(s3.getLength()); // Cannot resolve method "getLength" in "Shape" (Trying to access Parent class version) System.out.println("Rectangle r1 = (Rectangle)s3;"); - Rectangle r1 = (Rectangle)s3; //downcast + Rectangle r1 = (Rectangle) s3; //downcast System.out.println(r1); System.out.println(r1.getArea()); System.out.println(r1.getColor()); @@ -38,16 +38,17 @@ public static void main(String[] args) { System.out.println(s4.getArea()); System.out.println(s4.getColor()); //System.out.println(s4.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) -/*обратите внимание, что выполняем downcast Shape s4 к -Rectangle, который является суперклассом -Square(родителем), вместо Square */ - Rectangle r2 = (Rectangle)s4; - System.out.println(r2); System.out.println(r2.getArea()); + /*обратите внимание, что выполняем downcast Shape s4 к + Rectangle, который является суперклассом + Square(родителем), вместо Square */ + Rectangle r2 = (Rectangle) s4; + System.out.println(r2); + System.out.println(r2.getArea()); System.out.println(r2.getColor()); //System.out.println(r2.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) System.out.println(r2.getLength()); -// Downcast Rectangle r2 к Square - Square sq1 = (Square)r2; + // Downcast Rectangle r2 к Square + Square sq1 = (Square) r2; System.out.println(sq1); System.out.println(sq1.getArea()); System.out.println(sq1.getColor()); diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java index ba4765ce8..0c632e574 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Rectangle.java @@ -37,21 +37,16 @@ public void setLength(double length) { @Override public double getPerimeter() { - return width*2 + length*2; + return width * 2 + length * 2; } @Override public double getArea() { - return width*length; + return width * length; } @Override public String toString() { - return "Rectangle{" + - "width=" + width + - ", length=" + length + - ", filled=" + filled + - ", color='" + color + '\'' + - '}'; + return "Rectangle{" + "width=" + width + ", length=" + length + ", filled=" + filled + ", color='" + color + '\'' + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java index 5f60fb4e8..5fe413ba4 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Shape.java @@ -7,6 +7,7 @@ public class Shape { public Shape() { // Default constructor } + public Shape(String color, boolean filled) { this.color = color; this.filled = filled; @@ -39,9 +40,6 @@ public double getPerimeter() { @Override public String toString() { - return "Shape{" + - "color='" + color + '\'' + - ", filled=" + filled + - '}'; + return "Shape{" + "color='" + color + '\'' + ", filled=" + filled + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java index b6bcd3662..88b1d0e10 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java @@ -22,10 +22,6 @@ public void setSide(double side) { @Override public String toString() { - return "Square{" + - "side=" + width + - ", filled=" + filled + - ", color='" + color + '\'' + - '}'; + return "Square{" + "side=" + width + ", filled=" + filled + ", color='" + color + '\'' + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java index 7d84e178b..1caaaf24d 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Circle.java @@ -1,7 +1,8 @@ package ru.mirea.practice.s23k0120.task1; -public class Circle extends Shape{ +public class Circle extends Shape { float radius; + public Circle(float radius) { this.radius = radius; } @@ -13,18 +14,16 @@ public String getType() { @Override public float getPerimeter() { - return (float)(radius*Math.PI*2); + return (float) (radius * Math.PI * 2); } @Override public float getArea() { - return (float)(radius*radius*Math.PI); + return (float) (radius * radius * Math.PI); } @Override public String toString() { - return "Circle{" + - "radius=" + radius + - '}'; + return "Circle{" + "radius=" + radius + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java index 646073f0d..c94578879 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Rectangle.java @@ -1,8 +1,9 @@ package ru.mirea.practice.s23k0120.task1; -public class Rectangle extends Shape{ +public class Rectangle extends Shape { float width; float height; + public Rectangle(float width, float height) { this.width = width; this.height = height; @@ -15,19 +16,16 @@ public String getType() { @Override public float getPerimeter() { - return (float)(width*2 + height*2); + return width * 2 + height * 2; } @Override public float getArea() { - return (float)(width*height); + return width * height; } @Override public String toString() { - return "Rectangle{" + - "width=" + width + - ", length=" + height + - '}'; + return "Rectangle{" + "width=" + width + ", length=" + height + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java index 48cd225a7..6d3a7a02f 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Square.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task1; -public class Square extends Rectangle{ +public class Square extends Rectangle { public Square(float side) { super(side, side); @@ -13,8 +13,6 @@ public String getType() { @Override public String toString() { - return "Square{" + - "side=" + width + - "}"; + return "Square{" + "side=" + width + "}"; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java index d6ba6575f..2b71e27b5 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task1/Tester.java @@ -8,10 +8,8 @@ public static void main(String[] args) { Shape[] shapes = {circle, rect, square}; - for (Shape shape: shapes) { - System.out.printf("%s, %s Perimeter: %f Area: %f\n", - shape.getType(), shape, - shape.getPerimeter(), shape.getArea()); + for (Shape shape : shapes) { + System.out.printf("%s, %s Perimeter: %f Area: %f\n", shape.getType(), shape, shape.getPerimeter(), shape.getArea()); } } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java index 33729ca9d..073d135b1 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Car.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task10; -public class Car extends Vehicle{ +public class Car extends Vehicle { public Car() { // Default constructor diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java index dd7d77026..6dfd73a22 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Main.java @@ -5,11 +5,11 @@ public static void main(String[] args) { Car car = new Car(110f, 200f, 4, 300); Plane plane = new Plane(950f, 5000f, 20, 5000); Train train = new Train(250f, 150f, 500, 5000000); - Ship ship = new Ship(1.852*15, 150f, 20, 120000000); + Ship ship = new Ship(1.852 * 15, 150f, 20, 120000000); Vehicle[] vehicles = new Vehicle[]{car, plane, train, ship}; - for (Vehicle vehicle: vehicles) { + for (Vehicle vehicle : vehicles) { vehicle.transportPassengers(500, 1000); System.out.println(); vehicle.transportCargo(1000 * 1000, 1000); diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java index 33c1f8631..d0d411f89 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Plane.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task10; -public class Plane extends Vehicle{ +public class Plane extends Vehicle { public Plane() { // Default constructor diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java index 3d1a59c4f..bae2be60d 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Ship.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task10; -public class Ship extends Vehicle{ +public class Ship extends Vehicle { public Ship() { // Default constructor @@ -17,6 +17,7 @@ public Ship(double speed, double cost, double cargoCapacity) { public Ship(double speed, double cost, int passengerSeats, double cargoCapacity) { super(speed, cost, passengerSeats, cargoCapacity); } + @Override public void transportPassengers(int numOfPassengers, double distance) { super.transportPassengers(numOfPassengers, distance); diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java index b2600201b..9c2aed678 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Train.java @@ -1,6 +1,6 @@ package ru.mirea.practice.s23k0120.task10; -public class Train extends Vehicle{ +public class Train extends Vehicle { public Train() { // Default constructor @@ -17,6 +17,7 @@ public Train(double speed, double cost, double cargoCapacity) { public Train(double speed, double cost, int passengerSeats, double cargoCapacity) { super(speed, cost, passengerSeats, cargoCapacity); } + @Override public void transportPassengers(int numOfPassengers, double distance) { super.transportPassengers(numOfPassengers, distance); diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java index baeb31c40..8d989a713 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task10/Vehicle.java @@ -9,6 +9,7 @@ public class Vehicle { public Vehicle() { // Default constructor } + public Vehicle(double speed, double cost, int passengerSeats) { this.speed = speed; this.cost = cost; @@ -43,17 +44,16 @@ public double getCargoCapacity() { public int getPassengerSeats() { return passengerSeats; } + public void transportPassengers(int numOfPassengers, double distance) { - double cost = distance * (numOfPassengers*80) * this.cost / (1000 * 100); - double time = distance/this.speed; - System.out.printf("It would cost $ %.2f to transfer %d passengers for %.3f km for %.3f hours", - cost, numOfPassengers, distance, time); + double cost = distance * (numOfPassengers * 80) * this.cost / (1000 * 100); + double time = distance / this.speed; + System.out.printf("It would cost $ %.2f to transfer %d passengers for %.3f km for %.3f hours", cost, numOfPassengers, distance, time); } public void transportCargo(double weight, double distance) { - double cost = distance * weight *this.cost / (1000 * 100) ; - double time = distance/this.speed; - System.out.printf("It would cost $ %f to transfer %f cargo for %f km for %f hours", - cost, weight, distance, time); + double cost = distance * weight * this.cost / (1000 * 100); + double time = distance / this.speed; + System.out.printf("It would cost $ %f to transfer %f cargo for %f km for %f hours", cost, weight, distance, time); } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java index 788a1cf8e..a6b5898d5 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task2/Main.java @@ -2,9 +2,9 @@ public abstract class Main { public static void main(String[] args) { - Phone phone1 = new Phone("1234", "Xiaomi", 250f); - Phone phone2 = new Phone("+7911", "iPhone", 125.3f); - Phone phone3 = new Phone("+9528", "Samsung", 212f); + final Phone phone1 = new Phone("1234", "Xiaomi", 250f); + final Phone phone2 = new Phone("+7911", "iPhone", 125.3f); + final Phone phone3 = new Phone("+9528", "Samsung", 212f); phone1.recieveCall("Саня"); diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java index f7c93bae3..efc6b424e 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task4/Matrix.java @@ -27,7 +27,7 @@ public void add(Matrix matrix) { } for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { - this.values[i][j] = matrix.values[i][j]; + this.values[i][j] += matrix.values[i][j]; } } } @@ -65,6 +65,10 @@ public static Matrix multiply(Matrix matrix, float scalar) { return matrixA; } + public static Matrix multiply(Matrix matrixA, Matrix matrixB) { + return matrixA.multiplyRight(matrixB); + } + public Matrix multiplyRight(Matrix matrix) { if (matrix.getRows() != this.columns) { throw new RuntimeException(String.format("Size mismatch error: attempting to multiply %s to %s", matrix.size(), this.size())); @@ -101,14 +105,10 @@ public Matrix multiplyLeft(Matrix matrix) { return matrix1; } - public static Matrix multiply(Matrix matrixA, Matrix matrixB) { - return matrixA.multiplyRight(matrixB); - } - @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(); - for (float[] row: values) { + for (float[] row : values) { stringBuilder.append(Arrays.toString(row)); stringBuilder.append('\n'); } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java index a65096bdf..701a59ee3 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Learner.java @@ -4,13 +4,16 @@ public class Learner { String name; int age; float averageGrade; + public Learner() { // Default constructor } + public Learner(String name, int age) { this.name = name; this.age = age; } + public Learner(String name, int age, float grade) { Learner learner = new Learner(name, age); this.name = learner.name; @@ -24,9 +27,6 @@ public void study() { @Override public String toString() { - return "Учащийся{" + - "ФИО= " + name + - ", Возраст=" + age + - " лет}"; + return "Учащийся{" + "ФИО= " + name + ", Возраст=" + age + " лет}"; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java index b0a818137..36a88b6a6 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Main.java @@ -10,18 +10,18 @@ public static void main(String[] args) { Learner[] learners; learners = new Learner[]{student1, pupil1, student2, student3, pupil2}; - for (Learner learner: learners) { + for (Learner learner : learners) { if (learner instanceof Pupil) { System.out.println(learner); } } - for (Learner learner: learners) { + for (Learner learner : learners) { if (learner instanceof Student) { System.out.println(learner); } } - for (Learner learner: learners) { + for (Learner learner : learners) { learner.study(); } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java index 1203420fb..876b0cdc4 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Pupil.java @@ -4,9 +4,11 @@ public class Pupil extends Learner { public Pupil() { super(); } + public Pupil(String name, int age) { super(name, age); } + public Pupil(String name, int age, float grade) { super(name, age, grade); } @@ -18,9 +20,6 @@ public void study() { @Override public String toString() { - return "Школьник{" + - "ФИО= " + name + - ", Возраст=" + age + - " лет}"; + return "Школьник{" + "ФИО= " + name + ", Возраст=" + age + " лет}"; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java index f58b802cd..9ee7083a8 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task7/Student.java @@ -4,9 +4,11 @@ public class Student extends Learner { public Student() { super(); } + public Student(String name, int age) { super(name, age); } + public Student(String name, int age, float grade) { super(name, age, grade); } @@ -18,9 +20,6 @@ public void study() { @Override public String toString() { - return "Студент{" + - "ФИО= " + this.name + - ", Возраст=" + this.age + - " лет}"; + return "Студент{" + "ФИО= " + this.name + ", Возраст=" + this.age + " лет}"; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java index 56dafac98..d38ad57a2 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Circle.java @@ -26,20 +26,16 @@ public void setRadius(float radius) { @Override public double getPerimeter() { - return radius*Math.PI*2; + return radius * Math.PI * 2; } @Override public double getArea() { - return radius*radius*Math.PI; + return radius * radius * Math.PI; } @Override public String toString() { - return "Circle{" + - "radius=" + radius + - ", color='" + color + '\'' + - ", filled=" + filled + - '}'; + return "Circle{" + "radius=" + radius + ", color='" + color + '\'' + ", filled=" + filled + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java index 17e127e54..23365c29f 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Rectangle.java @@ -37,21 +37,16 @@ public void setLength(double length) { @Override public double getPerimeter() { - return width*2 + length*2; + return width * 2 + length * 2; } @Override public double getArea() { - return width*length; + return width * length; } @Override public String toString() { - return "Rectangle{" + - "width=" + width + - ", length=" + length + - ", filled=" + filled + - ", color='" + color + '\'' + - '}'; + return "Rectangle{" + "width=" + width + ", length=" + length + ", filled=" + filled + ", color='" + color + '\'' + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java index f0c9da4fd..69b052593 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Shape.java @@ -7,6 +7,7 @@ public abstract class Shape { public Shape() { // Default constructor } + public Shape(String color, boolean filled) { this.color = color; this.filled = filled; @@ -39,9 +40,6 @@ public double getPerimeter() { @Override public String toString() { - return "Shape{" + - "color='" + color + '\'' + - ", filled=" + filled + - '}'; + return "Shape{" + "color='" + color + '\'' + ", filled=" + filled + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java index b6c44c6ac..ba8c23f9b 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Square.java @@ -22,10 +22,6 @@ public void setSide(double side) { @Override public String toString() { - return "Rectangle{" + - "side=" + width + - ", filled=" + filled + - ", color='" + color + '\'' + - '}'; + return "Rectangle{" + "side=" + width + ", filled=" + filled + ", color='" + color + '\'' + '}'; } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java index 88f5ec23d..f3779ab77 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/task8/Tester.java @@ -8,10 +8,8 @@ public static void main(String[] args) { Shape[] shapes = {circle, rect, square}; - for (Shape shape: shapes) { - System.out.printf("%s Perimeter: %f Area: %f\n", - shape, - shape.getPerimeter(), shape.getArea()); + for (Shape shape : shapes) { + System.out.printf("%s Perimeter: %f Area: %f\n", shape, shape.getPerimeter(), shape.getArea()); } } } From 166bd12d73632c284adf1422a3c665c4ff7d3fd8 Mon Sep 17 00:00:00 2001 From: I_like_Space Date: Fri, 27 Sep 2024 15:33:31 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=BD=D0=B0=D1=8F=20=E2=84=964?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../practice/s23k0120/seasons/Seasons.java | 20 +++++++------- .../practice/s23k0120/exercise1/Main.java | 27 +++++++++---------- .../practice/s23k0120/exercise1/Square.java | 5 +++- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java index 5cc76eeec..bc013bdfc 100644 --- a/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java +++ b/students/23K0120/23K0120-p04/src/main/java/ru/mirea/practice/s23k0120/seasons/Seasons.java @@ -40,17 +40,17 @@ public static void like(Seasons season) { public String getDescription() { String season; - switch ((int) temperature) { - case 25: + switch (this) { + case SUMMER: season = "Тёплое"; break; - case 15: + case SPRING: season = "Умеренное"; break; - case 5: + case AUTUMN: season = "Прохладное"; break; - case -10: + case WINTER: season = "Холодное"; break; default: @@ -63,17 +63,17 @@ public String getDescription() { @Override public String toString() { String season; - switch ((int) temperature) { - case 25: + switch (this) { + case SUMMER: season = "Лето"; break; - case 15: + case SPRING: season = "Весна"; break; - case 5: + case AUTUMN: season = "Осень"; break; - case -10: + case WINTER: season = "Зима"; break; default: diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java index c405951b4..79bdfe1aa 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Main.java @@ -2,17 +2,17 @@ public abstract class Main { public static void main(String[] args) { - Shape s1 = new Circle(5.5, "RED", false); // Upcast Circle to Shape + Circle s1 = new Circle(5.5, "RED", false); // Upcast Circle to Shape System.out.println(s1); //Child class version System.out.println(s1.getArea()); // Child class version System.out.println(s1.getPerimeter()); // Child class version System.out.println(s1.getColor()); // Child class version System.out.println(s1.isFilled()); // Child class version //System.out.println(s1.getRadius()); // Cannot resolve method "getRadius" in "Shape" - // (Trying to access Parent class version but it doesn't exist) + // (Trying to access Parent class version, but it doesn't exist) // Can't access child version of a method when the object is upcasted, but the method isn't defined in the parent class - Circle c1 = (Circle) s1;// Downcast back to Circle + Circle c1 = s1; // Downcast back to Circle System.out.println(c1); // Child class version System.out.println(c1.getArea()); // Child class version System.out.println(c1.getPerimeter()); // Child class version @@ -21,19 +21,18 @@ public static void main(String[] args) { System.out.println(c1.getRadius()); // Child class version Shape s2 = new Shape(); System.out.println(s2); - Shape s3 = new Rectangle(1.0, 2.0, "RED", false); // Upcast + Rectangle s3 = new Rectangle(1.0, 2.0, "RED", false); // Upcast System.out.println(s3); // Child class version System.out.println(s3.getArea()); // Child class version System.out.println(s3.getPerimeter()); // Child class version System.out.println(s3.getColor()); // Child class version - //System.out.println(s3.getLength()); // Cannot resolve method "getLength" in "Shape" (Trying to access Parent class version) + System.out.println(s3.getLength()); // Cannot resolve method "getLength" in "Shape" (Trying to access Parent class version) System.out.println("Rectangle r1 = (Rectangle)s3;"); - Rectangle r1 = (Rectangle) s3; //downcast - System.out.println(r1); - System.out.println(r1.getArea()); - System.out.println(r1.getColor()); - System.out.println(r1.getLength()); - Shape s4 = new Square(6.6);//Upcast + System.out.println(s3); + System.out.println(s3.getArea()); + System.out.println(s3.getColor()); + System.out.println(s3.getLength()); + Square s4 = new Square(6.6);//Upcast System.out.println(s4); System.out.println(s4.getArea()); System.out.println(s4.getColor()); @@ -41,18 +40,18 @@ public static void main(String[] args) { /*обратите внимание, что выполняем downcast Shape s4 к Rectangle, который является суперклассом Square(родителем), вместо Square */ - Rectangle r2 = (Rectangle) s4; + Square r2 = s4; System.out.println(r2); System.out.println(r2.getArea()); System.out.println(r2.getColor()); //System.out.println(r2.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) System.out.println(r2.getLength()); // Downcast Rectangle r2 к Square - Square sq1 = (Square) r2; + Square sq1 = r2; System.out.println(sq1); System.out.println(sq1.getArea()); System.out.println(sq1.getColor()); - //System.out.println(sq1.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) + System.out.println(sq1.getSide()); // Cannot resolve method "getSide" in "Shape" (Trying to access Parent class version) System.out.println(sq1.getLength()); } } diff --git a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java index 88b1d0e10..ee2b7700c 100644 --- a/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java +++ b/students/23K0120/23K0120-p04_1/src/main/java/ru/mirea/practice/s23k0120/exercise1/Square.java @@ -14,12 +14,15 @@ public Square(double side, String color, boolean filled) { super(side, side, color, filled); } - public void setSide(double side) { this.width = side; this.length = side; } + public double getSide() { + return this.width; + } + @Override public String toString() { return "Square{" + "side=" + width + ", filled=" + filled + ", color='" + color + '\'' + '}';