Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
44 changes: 44 additions & 0 deletions proJect/src/main/java/anlov/java/Animal.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package anlov.java;

public class Animal {
private String name;
private String color;

private static int count;

public Animal(String name, String color) {
++count;
this.name = name;
this.color = color;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getColor() {
return color;
}

public void setColor(String color) {
this.color = color;
}

public static void getCount() {
System.out.println("Количество рожденных животных: " + count);
}

public void run(int length) {
System.out.println("Животное пробежало:" + length + "метров.");
}

public void swim(int length) {
System.out.println("Животное проплыло:" + length + "метров.");
}


}
48 changes: 48 additions & 0 deletions proJect/src/main/java/anlov/java/Cat.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package anlov.java;

public class Cat extends Animal {
private static int countOfCat;
private boolean satiety;

public Cat(String name, String color) {
super(name, color);
this.satiety = false;
++countOfCat;
}

public static void getCountOfAnimal() {
System.out.println("Количество родившихся кошечек: " + countOfCat);
}

@Override
public void run(int length) {
if (length > 200) {
System.out.println("Кот пробежал " + 200 + " метров и очень устал)");
} else if (length < 0) {
System.out.println("Ошибка!");
} else System.out.println("Кот пробежал " + length + " метров.");
}

@Override
public void swim(int length) {
System.out.println("К сожалению, котики не умеют плавать(");
}

public void setSatiety(boolean value) {
this.satiety = value;
}

public boolean getSatiety() {
return satiety;
}

public String eatFromDishes(Dish dishOfFood, int isHungry) {
if (dishOfFood.countOfFood() < isHungry) {
return "Котику " + super.getName() + " мало еды.";
} else {
dishOfFood.eatOfFood(isHungry);
setSatiety(true);
return "Котик " + getName() + " покушал";
}
}
}
27 changes: 27 additions & 0 deletions proJect/src/main/java/anlov/java/Circle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package anlov.java;

public class Circle extends FigureParams {
private final double RADIUS;

public Circle(Colors colorOfBoard, Colors colorOfFill, double radius) {
super(colorOfBoard, colorOfFill);
RADIUS = radius;
}

@Override
public String getName() {
return "Круг";
}

@Override
public double perimeter() {
return Math.PI * RADIUS * 2;
}

@Override
public double area() {
return Math.PI * RADIUS * RADIUS;
}


}
8 changes: 8 additions & 0 deletions proJect/src/main/java/anlov/java/Colors.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package anlov.java;

public enum Colors {
BLACK,
RED,
GREEN,
BLUE
}
25 changes: 25 additions & 0 deletions proJect/src/main/java/anlov/java/Dish.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package anlov.java;

public class Dish {
private int countOfEats;

public Dish(int countOfEats) {
this.countOfEats = countOfEats;
}

public int addEats(int add) {
countOfEats += add;
return countOfEats;
}

public void eatOfFood(int eat) {
if (countOfEats - eat >= 0) {
countOfEats -= eat;
} else System.out.println("В тарелке не хватает еды!");
}

public int countOfFood() {
return countOfEats;
}
}

32 changes: 32 additions & 0 deletions proJect/src/main/java/anlov/java/Dog.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package anlov.java;

public class Dog extends Animal {
private static int countOfDog;

public Dog(String name, String color) {
super(name, color);
++countOfDog;
}

@Override
public void run(int length) {
if (length > 500) {
System.out.println("Собачка пробежала 500 метров и очень устала)");
} else if (length < 0) {
System.out.println("Ошибка!");
} else System.out.println("Собачка пробежала " + length + " метров.");
}

public static void getCountOfDog() {
System.out.println("Количество родившихся собачек: " + countOfDog);
}

@Override
public void swim(int length) {
if (length < 11) {
System.out.println("Собачка проплыла: " + length + " метров.");
} else if (length < 0) {
System.out.println("Ошибка!");
} else System.out.println("Собачка проплыла 10 метров и очень устала)");
}
}
8 changes: 8 additions & 0 deletions proJect/src/main/java/anlov/java/Figure.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package anlov.java;

public interface Figure {
double perimeter();

double area();
}

23 changes: 23 additions & 0 deletions proJect/src/main/java/anlov/java/FigureParams.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package anlov.java;

public abstract class FigureParams implements Figure {
private final Colors colorOfBoard;
private final Colors colorOfFill;

public FigureParams(Colors colorOfBoard, Colors colorOfFill) {
this.colorOfBoard = colorOfBoard;
this.colorOfFill = colorOfFill;
}

public String getName() {
return "Фигуры";
}

@Override
public String toString() {
return "Параметры " + getName() + "{\n" +
"цвет границы = " + colorOfBoard +
", цвет заливки = " + colorOfFill +
" периметр = " + this.perimeter() + " площадь = " + this.area() + '\n' + '}';
}
}
35 changes: 34 additions & 1 deletion proJect/src/main/java/anlov/java/Main.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,42 @@
package anlov.java;


import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;

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

Cat cat1 = new Cat("Barsik", "blue");
cat1.run(1000);
cat1.swim(3);
Dog dog1 = new Dog("Sharik", "black");
dog1.run(250);
dog1.swim(3);
Cat cat2 = new Cat("Murzik", "green");
Animal.getCount();
Cat.getCountOfAnimal();
Dog.getCountOfDog();

List<Cat> catList = new ArrayList<>();
catList.add(cat1);
catList.add(cat2);
catList.add(new Cat("May", "blue"));

Dish dish1 = new Dish(500);
dish1.addEats(150);
for (Cat cat : catList) {
System.out.println(cat.eatFromDishes(dish1, 650));
System.out.println(cat.getSatiety());
dish1.addEats(50);

}

Square square = new Square(Colors.BLACK, Colors.GREEN, 5);
System.out.println(square);
Circle circle = new Circle(Colors.BLACK, Colors.BLUE, 5);
System.out.println(circle);
Triangle triangle = new Triangle(Colors.RED, Colors.BLACK, 3);
System.out.println(triangle);
}
}
26 changes: 26 additions & 0 deletions proJect/src/main/java/anlov/java/Square.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package anlov.java;

public class Square extends FigureParams {

private final double SIDELENGTH;

public Square(Colors fillColor, Colors boardColor, double SIDELENGTH) {
super(fillColor, boardColor);
this.SIDELENGTH = SIDELENGTH;
}

@Override
public String getName() {
return "Квадрата";
}

@Override
public double perimeter() {
return SIDELENGTH * 4;
}

@Override
public double area() {
return SIDELENGTH * SIDELENGTH;
}
}
25 changes: 25 additions & 0 deletions proJect/src/main/java/anlov/java/Triangle.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package anlov.java;

public class Triangle extends FigureParams {
private final double SIDELENGTH;

public Triangle(Colors colorOfBoard, Colors colorOfFill, double sidelength) {
super(colorOfBoard, colorOfFill);
SIDELENGTH = sidelength;
}

@Override
public String getName() {
return "Треугольника";
}

@Override
public double perimeter() {
return Math.PI * SIDELENGTH * 2;
}

@Override
public double area() {
return Math.PI * SIDELENGTH * SIDELENGTH;
}
}