Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
33563a1
решение
stillwearit Mar 10, 2025
318e3ed
lesson 16 task1 interface
stillwearit Mar 12, 2025
49bc972
я перепутала это был lesson 16 task2
stillwearit Mar 13, 2025
b98a860
lesson 16 task3
stillwearit Mar 13, 2025
f815be3
кириллица
stillwearit Mar 17, 2025
cf5894b
правки task14
stillwearit Mar 17, 2025
3901d07
правки lesson 16 task2
stillwearit Mar 17, 2025
d9e3347
правки lesson 16 task3
stillwearit Mar 17, 2025
d6417a6
правки lesson 16 task2
stillwearit Mar 17, 2025
34ef3fc
правки lesson 16 task1 абстрактный класс
stillwearit Mar 18, 2025
7ea65ff
правки lesson 17 task1
stillwearit Mar 18, 2025
da9f70b
правки lesson 17 task1
stillwearit Mar 18, 2025
6b72e7e
правки lesson 17 task2
stillwearit Mar 18, 2025
88b156b
lesson 17 task3
stillwearit Mar 19, 2025
68f2859
lesson 18 task1
stillwearit Mar 19, 2025
c09db58
lesson 18 task1 правки
stillwearit Mar 19, 2025
e95273d
lesson 18 task1 правки
stillwearit Mar 19, 2025
bdaa498
lesson 18 task1 правки
stillwearit Mar 19, 2025
e061808
lesson 19
stillwearit Mar 20, 2025
45633b9
lesson 19
stillwearit Mar 20, 2025
b852b24
lesson 19
stillwearit Mar 20, 2025
0ce340c
lesson 19
stillwearit Mar 21, 2025
364f204
lesson 14 правки
stillwearit Mar 25, 2025
3f65c1a
lesson 14 правки
stillwearit Mar 25, 2025
1975241
lesson 16 правки
stillwearit Mar 25, 2025
ee64b50
lesson 17 правки
stillwearit Mar 25, 2025
cf959f2
lesson 20, task 1
stillwearit Mar 31, 2025
581d8eb
lesson 20, task 1
stillwearit Mar 31, 2025
455de07
правки
stillwearit Mar 31, 2025
e125d86
lesson 20, task 1.2
stillwearit Mar 31, 2025
fe8d83f
lesson 20, task 1.2
stillwearit Mar 31, 2025
1fdcb45
lesson 20, task 2
stillwearit Apr 1, 2025
6a9497e
lesson 20, task 3
stillwearit Apr 1, 2025
97ae782
lesson 21
stillwearit Apr 3, 2025
ba035de
lesson 21
stillwearit Apr 3, 2025
dbcb8af
lesson 25, task 1, анонимные классы
stillwearit Apr 14, 2025
0ab1b7e
lesson 25, task 1, анонимные классы
stillwearit Apr 14, 2025
854c1b7
lesson 25, task 1, анонимные классы
stillwearit Apr 14, 2025
28bc2ac
lesson 25, task 1, внутренние классы
stillwearit Apr 14, 2025
5f13106
lesson 25, task 1, статические классы
stillwearit Apr 14, 2025
1f793d1
lesson 25, task 1, статические классы
stillwearit Apr 14, 2025
c975f83
lesson 25, task 2, анонимные классы
stillwearit Apr 15, 2025
570cd3b
lesson 25, task 2, внутренние классы
stillwearit Apr 15, 2025
2d5e2b4
lesson 25, task 2, внутренние классы
stillwearit Apr 15, 2025
db89cbc
lesson 25, task 2, static классы
stillwearit Apr 15, 2025
1613dc4
можно проверять всё в 25 уроке
stillwearit Apr 15, 2025
1c95eac
можно проверять всё в 25 уроке
stillwearit Apr 15, 2025
fb22c28
исправила 17-21
stillwearit Apr 19, 2025
0a713f0
урок 26, задание 1
stillwearit Apr 21, 2025
148cd15
урок 26, задание 1
stillwearit Apr 21, 2025
bbf9c23
урок 26, задание 1
stillwearit Apr 21, 2025
c5db7fd
урок 26, задание 2
stillwearit Apr 21, 2025
5583949
урок 26, задание 2
stillwearit Apr 22, 2025
e9eefe4
исправления
stillwearit Apr 28, 2025
4537115
lesson 28, task 1
stillwearit May 13, 2025
c93f510
lesson 28, task 2
stillwearit May 13, 2025
0a576e0
lesson 28, task 3
stillwearit May 13, 2025
6452514
lesson 29, task 1
stillwearit May 15, 2025
80bd8aa
lesson 29, task 2
stillwearit May 15, 2025
25abfcd
исправления
stillwearit May 28, 2025
4a00c95
исправления
stillwearit May 28, 2025
6d74fe0
lesson 30, task 1
stillwearit May 28, 2025
1b40cb1
lesson 30, task 2
stillwearit May 29, 2025
2e0b784
lesson 30, task 3
stillwearit May 29, 2025
c6d69e3
lesson 30, task 3
stillwearit Jun 9, 2025
bfd5100
lesson 31
stillwearit Jun 10, 2025
cb2ee42
lesson 31
stillwearit Jun 11, 2025
d4a4804
lesson 32, task 1
stillwearit Jun 13, 2025
407cfa3
lesson 32, task 2
stillwearit Jun 14, 2025
e3b5269
lesson 32, task 2
stillwearit Jun 14, 2025
6ad93a3
lesson 32, task 2
stillwearit Jun 14, 2025
c947ca7
lesson 32, task 2
stillwearit Jun 14, 2025
82fcc77
lesson 32, task 2
stillwearit Jun 14, 2025
a8af1d3
исправления
stillwearit Jun 16, 2025
f46b897
lesson 32, task 3
stillwearit Jun 27, 2025
901504e
lesson 32, task 3
stillwearit Jun 30, 2025
3f15ffd
lesson 33, task 1
stillwearit Jul 3, 2025
e566251
lesson 33, task 1
stillwearit Jul 3, 2025
1d546f2
lesson 33, task 2
stillwearit Jul 3, 2025
08f6031
lesson 33, task 2
stillwearit Jul 3, 2025
2b4e220
lesson 33, task 2
stillwearit Jul 3, 2025
103ce78
исправления
stillwearit Jul 9, 2025
ad8e5f5
исправления
stillwearit Jul 9, 2025
501306c
исправления
stillwearit Jul 10, 2025
7474b55
исправления
stillwearit Jul 10, 2025
c738c0b
lesson 34, task 1
stillwearit Jul 11, 2025
62e7730
lesson 34, task 2
stillwearit Jul 11, 2025
962c590
lesson 34, task 2
stillwearit Jul 11, 2025
5abfe49
исправления
stillwearit Jul 23, 2025
f1a7b9a
lesson 34, task 3
stillwearit Jul 23, 2025
5b17229
вроде исправила...
stillwearit Sep 10, 2025
68240ee
вроде исправила...
stillwearit Sep 10, 2025
751268c
исправила
stillwearit Sep 14, 2025
f6a2af0
lesson 37, task 1
stillwearit Sep 14, 2025
cdf1c4a
lesson 37, task 1
stillwearit Sep 14, 2025
6a664d3
lesson 37, task 1
stillwearit Sep 14, 2025
493af39
lesson 37, task 1
stillwearit Sep 14, 2025
347457c
lesson 37, task 1
stillwearit Sep 15, 2025
ffd43b2
lesson 37, task 1
stillwearit Sep 15, 2025
12c0215
lesson 37, task 2, ещё три метода...
stillwearit Sep 15, 2025
d406737
lesson 37, task 2, готово
stillwearit Sep 16, 2025
38caaf8
lesson 37, task 2, готово
stillwearit Sep 16, 2025
f5d11ff
lesson 37, task 2, готово
stillwearit Sep 16, 2025
eeb0e7f
lesson 38, task 1, готово
stillwearit Sep 22, 2025
f8585d4
lesson 38, task 2, готово
stillwearit Sep 24, 2025
d2b4906
исправления
stillwearit Sep 29, 2025
498141d
lesson 39, task 1
stillwearit Oct 1, 2025
78aa437
lesson 39, task 2
stillwearit Oct 2, 2025
df675a8
lesson 39, все задачи
stillwearit Oct 7, 2025
f92de7b
исправления
stillwearit Oct 8, 2025
d848de1
исправления
stillwearit Oct 8, 2025
4d7ed83
lesson 40, task
stillwearit Oct 9, 2025
f173163
исправления
stillwearit Oct 14, 2025
3a530fa
исправления
stillwearit Oct 15, 2025
7f9545f
lesson 41, task 1
stillwearit Oct 24, 2025
a2b7ca3
lesson 41, task 2
stillwearit Oct 24, 2025
8623eae
lesson 42, task1, балансировка
stillwearit Nov 8, 2025
49cb8be
lesson 42, task1, иии обход в ширину
stillwearit Nov 8, 2025
a2c243f
исправления
stillwearit Nov 8, 2025
0a3553c
исправления
stillwearit Nov 18, 2025
d4dceea
lesson 42? task 2
stillwearit Nov 27, 2025
8e21b5e
lesson 42, task 2
stillwearit Nov 27, 2025
e8b9bf1
lesson 42, task 2
stillwearit Nov 27, 2025
ea31149
lesson 42, task 2
stillwearit Nov 27, 2025
4b56e7c
lesson 42, task 2
stillwearit Nov 27, 2025
3afdfc2
исправления
stillwearit Dec 1, 2025
30c9119
исправления
stillwearit Dec 1, 2025
8bc36d0
43, 1
stillwearit Dec 9, 2025
ed02488
43, 2
stillwearit Dec 10, 2025
8e7108e
исправления
stillwearit Jan 3, 2026
a421b6b
исправила
stillwearit Jan 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 35 additions & 5 deletions src/com/walking/lesson14_polymorphism/task1/Main.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,46 @@
package com.walking.lesson14_polymorphism.task1;

import com.walking.lesson14_polymorphism.task1.figure.RegularFigure;
import com.walking.lesson14_polymorphism.task1.figure.Square;
import com.walking.lesson14_polymorphism.task1.figure.Triangle;

import java.util.Scanner;

/**
* Реализуйте класс «Правильная фигура».
* Для него создайте классы-наследники «Треугольник» и «Квадрат».
* <p>
* Пользователь должен иметь возможность ввести длину стороны и выбрать тип фигуры.
* Программа должна нарисовать в консоли выбранную пользователем фигуру,
* используя символы '-', '|', '/', '\'.
* Пользователь должен иметь возможность ввести длину стороны и выбрать тип фигуры.
* Программа должна нарисовать в консоли выбранную пользователем фигуру,
* используя символы '-', '|', '/', '\'.
* <p>
* Обратите внимание, символ '\' в Java необходимо экранировать: '\\'.
*/

public class Main {
public static void main(String[] args) {

public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Введите тип фигуры: ");
String figureType = in.nextLine();
System.out.print("Введите длину стороны: ");
int length = in.nextInt();

if (length < 1) {
System.out.println("Некорректный ввод");
return;
}

RegularFigure figure = getFigure(figureType, length);

System.out.println(figure.getFigure());
}

private static RegularFigure getFigure(String figureType, int length) {
return switch (figureType.toLowerCase()) {
case Triangle.NAME -> new Triangle(length);
case Square.NAME -> new Square(length);
default -> new RegularFigure(length);
};
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.walking.lesson14_polymorphism.task1.figure;

public class RegularFigure {
private final int length;

public RegularFigure(int length) {
this.length = length;
}

public String getFigure() {
return "Неизвестная фигура";
}


public int getLength() {
return length;
}
}
30 changes: 30 additions & 0 deletions src/com/walking/lesson14_polymorphism/task1/figure/Square.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.walking.lesson14_polymorphism.task1.figure;

public class Square extends RegularFigure {
public static final String NAME = "квадрат";

private final String HORIZONTAL = "-";
private final String VERTICAL = "|";
private final String SPACE = " ";

public Square(int length) {
super(length);
}

@Override
public String getFigure() {
String square = getHorizontalSide();
for (int i = 0; i < getLength() - 2; i++) {
square += getVerticalSide();
}
return square + getHorizontalSide();
}

private String getHorizontalSide() {
return SPACE + HORIZONTAL.repeat(getLength() - 2) + SPACE + "\n";
}

private String getVerticalSide() {
return VERTICAL + SPACE.repeat(getLength() - 2) + VERTICAL + "\n";
}
}
38 changes: 38 additions & 0 deletions src/com/walking/lesson14_polymorphism/task1/figure/Triangle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package com.walking.lesson14_polymorphism.task1.figure;

public class Triangle extends RegularFigure {
public static final String NAME = "треугольник";

private final String RIGHT_SIDE = "\\";
private final String LEFT_SIDE = "/";
private final String BOTTOM_SIDE = "_";
private final String SPACE = " ";

public Triangle(int length) {
super(length);
}

@Override
public String getFigure() {
return getTriangle() + getBottomSide();
}

private String getBottomSide() {
return LEFT_SIDE + BOTTOM_SIDE.repeat(getLength()) + RIGHT_SIDE;
}

private String getTriangle() {
int k = getLength() / 2;
int j = getLength() % 2;

String triangle = "";
for (int i = 0; i < getLength() / 2; i++) {
triangle += SPACE.repeat(k) + LEFT_SIDE + SPACE.repeat(j) + RIGHT_SIDE + "\n";
k--;
j += 2;
}

return triangle;
}

}
Original file line number Diff line number Diff line change
@@ -1,11 +1,37 @@
package com.walking.lesson16_abstract_class_interface.task1_abstract_class;


import com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures.RegularFigure;
import com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures.Square;
import com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures.Triangle;
import com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures.Unknown;

import java.util.Scanner;

/**
* Реализуйте задачу
* <a href="https://github.com/KFalcon2022/practical-tasks/tree/master/src/com/walking/lesson14_polymorphism/task1">...</a>
* используя абстрактный класс.
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Введите тип фигуры: ");
String figureType = in.nextLine();
System.out.print("Введите длину стороны: ");
int length = in.nextInt();

if (length < 1) {
System.out.println("Некорректный ввод");
return;
}

RegularFigure figure = switch (figureType.toLowerCase()) {
case Triangle.NAME -> new Triangle(length);
case Square.NAME -> new Square(length);
default -> new Unknown(length);
};

System.out.println(figure.getFigure());
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures;

public abstract class RegularFigure {
protected final String SPACE = " ";
protected final String NEXT_LINE_SYMBOL = "\n";
private final int length;

protected RegularFigure(int length) {
this.length = length;
}

public abstract String getFigure();

public int getLength() {
return length;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures;

public class Square extends RegularFigure {
public static final String NAME = "квадрат";

private final String HORIZONTAL = "-";
private final String VERTICAL = "|";

public Square(int length) {
super(length);
}

@Override
public String getFigure() {
String square = getHorizontalSide();
for (int i = 0; i < getLength() - 2; i++) {
square += getVerticalSide();
}
return square + getHorizontalSide();
}

private String getHorizontalSide() {
return SPACE + HORIZONTAL.repeat(getLength() - 2) + SPACE + NEXT_LINE_SYMBOL;
}

private String getVerticalSide() {
return VERTICAL + SPACE.repeat(getLength() - 2) + VERTICAL + NEXT_LINE_SYMBOL;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures;

public class Triangle extends RegularFigure {
public static final String NAME = "треугольник";

private final String RIGHT_SIDE = "\\";
private final String LEFT_SIDE = "/";
private final String BOTTOM_SIDE = "_";


public Triangle(int length) {
super(length);
}

@Override
public String getFigure() {
return getTriangle() + getBottomSide();
}

private String getBottomSide() {
return LEFT_SIDE + BOTTOM_SIDE.repeat(getLength()) + RIGHT_SIDE;
}

private String getTriangle() {
int k = getLength() / 2;
int j = getLength() % 2;

String triangle = "";
for (int i = 0; i < getLength() / 2; i++) {
triangle += SPACE.repeat(k) + LEFT_SIDE + SPACE.repeat(j) + RIGHT_SIDE + NEXT_LINE_SYMBOL;
k--;
j += 2;
}

return triangle;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.walking.lesson16_abstract_class_interface.task1_abstract_class.figures;

public class Unknown extends RegularFigure {

public Unknown(int length) {
super(length);
}

@Override
public String getFigure() {
return "Неизвестная фигура";
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package com.walking.lesson16_abstract_class_interface.task1_interface;


/**
* Реализуйте задачу
* <a href="https://github.com/KFalcon2022/practical-tasks/tree/master/src/com/walking/lesson14_polymorphism/task1">...</a>
* используя интерфейс.
*/
public class Main {
public static void main(String[] args) {

}

}
18 changes: 18 additions & 0 deletions src/com/walking/lesson16_abstract_class_interface/task2/Main.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,29 @@
package com.walking.lesson16_abstract_class_interface.task2;

import com.walking.lesson16_abstract_class_interface.task2.greet.*;

import java.util.Scanner;

/**
* Реализуйте задачу
* <a href="https://github.com/KFalcon2022/practical-tasks/blob/master/src/com/walking/lesson3/Task2SwitchCase.java">...</a>
* с использованием интерфейсов. Каждая реализация должна возвращать свое сообщение.
*/
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Enter message: ");
String message = in.nextLine();

System.out.println(getGreeting(message));
}

private static Greeting getGreeting(String message) {
return switch (message) {
case "Hi" -> new Hello();
case "Bye" -> new Goodbye();
case "How are you" -> new How();
default -> new Unknown();
};
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.walking.lesson16_abstract_class_interface.task2.greet;

public class Goodbye implements Greeting {
final static String RESPOND = "Goodbye";

@Override
public String greet() {
return RESPOND;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.walking.lesson16_abstract_class_interface.task2.greet;

public interface Greeting {

String greet();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.walking.lesson16_abstract_class_interface.task2.greet;

public class Hello implements Greeting {
final static String RESPOND = "Hello";

@Override
public String greet() {
return RESPOND;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.walking.lesson16_abstract_class_interface.task2.greet;

public class How implements Greeting {
final static String RESPOND = "How are you doing";

@Override
public String greet() {
return RESPOND;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.walking.lesson16_abstract_class_interface.task2.greet;

public class Unknown implements Greeting {
@Override
public String greet() {
return "Unknown message";
}
}
10 changes: 10 additions & 0 deletions src/com/walking/lesson16_abstract_class_interface/task3/Main.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package com.walking.lesson16_abstract_class_interface.task3;


import com.walking.lesson16_abstract_class_interface.task3.animals.Animal;
import com.walking.lesson16_abstract_class_interface.task3.animals.Cat;
import com.walking.lesson16_abstract_class_interface.task3.animals.Cow;
import com.walking.lesson16_abstract_class_interface.task3.animals.Dog;

/**
* Реализуйте любую задачу из уроков о наследовании или полиморфизме с использованием новых знаний.
* Выбирайте инструмент с умом.
Expand All @@ -10,5 +15,10 @@
*/
public class Main {
public static void main(String[] args) {
Animal[] animals = new Animal[] {new Cow(), new Dog(), new Cat()};

for (Animal animal : animals) {
animal.sound();
}
}
}
Loading