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
55 changes: 55 additions & 0 deletions src/ru/skypro/Flower.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package ru.skypro;

import java.util.Objects;

public class Flower {

private String name;
private String flowerColor;
private String country;
private Double cost;
private Integer lifeSpan;

public Flower(String name, String flowerColor, String country, Double cost, Integer lifeSpan) {
this.name = name;
this.flowerColor = flowerColor == null || flowerColor.equals("") ? "Белый" : flowerColor;
this.country = country == null || country.equals("") ? "Россия" : country;
this.cost = cost == null || cost < 0 ? 1 : Math.round(cost * 100) / 100d;
this.lifeSpan = lifeSpan == null || lifeSpan <= 0 ? 3 : lifeSpan;
}

@Override
public String toString() {
return "Flower{" +
"name='" + name + '\'' +
", flowerColor='" + flowerColor + '\'' +
", country='" + country + '\'' +
", cost=" + cost +
", lifeSpan=" + lifeSpan +
'}';
}

public void setLifeSpan(Integer lifeSpan) {
this.lifeSpan = lifeSpan;
}

public String getFlowerColor() {
return flowerColor;
}

public String getCountry() {
return country;
}

public Double getCost() {
return cost;
}

public Integer getLifeSpan() {
return lifeSpan;
}

public String getName() {
return name;
}
}
60 changes: 60 additions & 0 deletions src/ru/skypro/Human.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package ru.skypro;

import java.util.Objects;

public class Human {
@Override
public String toString() {
return "Привет! Меня зовут " + name + ". Я из города " + town + ". Я родился в " + yearOfBirth + " году. Будем знакомы! Я работаю на должности " + position + " . Будем знакомы!";
}

private Integer yearOfBirth;
private String name;
private String position;
private String town;

public Human(Integer yearOfBirth, String name, String town, String position) {
this.yearOfBirth = Objects.requireNonNullElse(yearOfBirth, 0);
this.name = Objects.requireNonNullElse(name, "Информация не указана");
this.town = Objects.requireNonNullElse(town, "Информация не указана");
this.position = Objects.requireNonNullElse(position, "Информация не указана");
}

public Integer getYearOfBirth() {
return yearOfBirth;
}

public void setYearOfBirth(Integer yearOfBirth) {
if (yearOfBirth != null && yearOfBirth < 0) {
yearOfBirth = 0;
}
this.yearOfBirth = yearOfBirth;
}

public String getName() {
return name;
}

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

public String getTown() {
return town;
}

public void setTown(String town) {
if (town != null && town.length() > 0) {
town = "Информация не указана";
}
this.town = town;
}

public String getPosition() {
return position;
}

public void setPosition(String position) {
this.position = position;
}
}
136 changes: 135 additions & 1 deletion src/ru/skypro/Main.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,141 @@
package ru.skypro;

import ru.skypro.transport.Bus;
import ru.skypro.transport.Car;
import ru.skypro.transport.Train;

import java.time.Year;

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

public static void main(String[] args) {
Human Максим = new Human(1987, "Максим", "Минск", "бренд-менеджер");
Human Аня = new Human(1993, "Аня", "Москва", "методист образовательных программ");
Human Катя = new Human(1994, "Катя", "Калининград", "продакт-менеджер");
Human Артем = new Human(1995, "Артем", null, "директор по развитию бизнеса");
System.out.println(Максим);
System.out.println(Аня);
System.out.println(Катя);
System.out.println(Артем);

Car car1 = new Car("Lada", "Grande", "1,7л", "желтый", 2015, "Россия");
Car car2 = new Car("Audi", "A8 50 L TDI quattro", "3.0л", "черный", 2020, "Германия");
Car car3 = new Car("BMW", "Z8", "3.0л", "черный", 2021, "Германия");
Car car4 = new Car("Kia", "Sportage 4 поколение", "2,4л", "красный ", 2018, "Южная Корея");
Car car5 = new Car("Hyundai", "Avante", "1,6л", "оранжевый", 2016, "Южная Корея");
Car car6 = new Car();
System.out.println(car1);
System.out.println(car2);
System.out.println(car3);
System.out.println(car4);
System.out.println(car5);
System.out.println(car6);

Human Владимир = new Human(Year.now().getValue() - 21, "Владимир", "Казань", null);
System.out.println(Владимир);

Flower РозаОбыкновенная = new Flower("Роза обыкновенная", null, "Голландия", 35.59, null);
Flower Хризантема = new Flower("Хризантема", null, null, 15.0, 5);
Flower Пион = new Flower("Пион", null, "Англия", 69.9, 1);
Flower Гипсофила = new Flower("Гипсофила", null, "Турция", 19.5, 10);
System.out.println(РозаОбыкновенная);
System.out.println(Хризантема);
System.out.println(Пион);
System.out.println(Гипсофила);
int numRose = 3;
int numChris = 5;
int numPion = 0;
int numGips = 1;
Double flowerPrice =
Math.round(
1.1 * //+10%
(numRose * РозаОбыкновенная.getCost() +
numChris * Хризантема.getCost() +
numPion * Пион.getCost() +
numGips * Гипсофила.getCost()) //getCost
* 100) / 100d; //Todo: Загуглить другую функцию округления
int lifeSpan = 0;
if (numRose > 0)
lifeSpan = РозаОбыкновенная.getLifeSpan();
if (numChris > 0 && Хризантема.getLifeSpan() < lifeSpan)
lifeSpan = Хризантема.getLifeSpan();
if (numPion > 0 && Пион.getLifeSpan() < lifeSpan)
lifeSpan = Пион.getLifeSpan();
if (numGips > 0 && Гипсофила.getLifeSpan() < lifeSpan)
lifeSpan = Гипсофила.getLifeSpan();

System.out.println("будет стоить " + flowerPrice + " рублей и простоит " + lifeSpan + " суток. ");

Car car7 = new Car("Lada", "Grande", "1,7л", "желтый", 2015, "Россия"
, null, null, "A000XX000", null, null);
System.out.println(car7);

Car.Key key = new Car.Key(true, true);
Car.Insurance insurance = new Car.Insurance(2012, 2000.2, "asdf22dsa2");

Train train1 = new Train(
"Ласточка",
" B-901",
2011,
"России",
null,
301,
3500d,
null,
"Белорусского вокзала",
"Минск-Пассажирский",
11
);
Train train2 = new Train(
"Ленинград",
"D-125",
2019,
"России",
null,
270,
1700d,
null,
"Ленинградского вокзала",
"Ленинград-Пассажирский",
8
);
System.out.println(train1);
System.out.println(train2);
Bus bus1 = new Bus(
null,
null,
null,
null,
null,
null,
1,
2,
3
);
Bus bus2 = new Bus(
null,
null,
null,
null,
null,
null,
4,
5,
6
);
Bus bus3 = new Bus(
null,
null,
null,
null,
null,
null,
7,
8,
9
);
System.out.println(bus1);
System.out.println(bus2);
System.out.println(bus3);
}
}
34 changes: 34 additions & 0 deletions src/ru/skypro/animals/Main.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package ru.skypro.animals;

import ru.skypro.animals.hierarchy.*;

//Main class for test Part3
public class Main {
public static void main(String[] args) {
var Albotros = new Flying("Albotros",4,"asd","walk");
var Chaika = new Flying("Chaika",4,"asd","walk");
var Sokol = new Flying("Sokol",4,"asd","walk");
var Hiena = new Hischniki("Hiena",4,"asd",20,"asd");
var Medved = new Hischniki("Medved",4,"asd",20,"asd");
var Tigr = new Hischniki("Tigr",4,"asd",20,"asd");
var Dodo = new NoFlying("Dodo",4,"asd","walk");
var Pavlin = new NoFlying("Pavlin",4,"asd","walk");
var Pingvin = new NoFlying("Pingvin",4,"asd","walk");
var Gazel = new Travoyadnie("Gazel",4,"asd",12,"asd");
var Loshad = new Travoyadnie("Loshad",4,"asd",13,"asd");
var Zhiraf = new Travoyadnie("Zhiraf",4,"asd",14,"asd");
var Fog = new Zemnovodnie("Fog",4,"asd");
var Uzh = new Zemnovodnie("Uzh",4,"asd");
System.out.println(Albotros);
}

public static class CheckUtil {

public static String checkString (String string, String elseString) {
return string == null || string.length() == 0 ? elseString: string;
}
public static Integer checkInteger (Integer integer, Integer elseInt) {
return integer == null || integer<0 ? elseInt: integer;
}
}
}
54 changes: 54 additions & 0 deletions src/ru/skypro/animals/hierarchy/Animal.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
package ru.skypro.animals.hierarchy;

import ru.skypro.animals.Main;

import java.util.Objects;

abstract class Animal {
private String klichka;
private Integer numYears;
protected abstract void eat();
protected abstract void sleep();
protected abstract void go();

public Animal(String klichka, Integer numYears) {
this.klichka = Main.CheckUtil.checkString(klichka,"klichka");
this.numYears = Main.CheckUtil.checkInteger(numYears,5);
}

@Override
public String toString() {
return "Animal{" +
"klichka='" + klichka + '\'' +
", numYears=" + numYears +
'}';
}

public String getKlichka() {
return klichka;
}

public void setKlichka(String klichka) {
this.klichka = Main.CheckUtil.checkString(klichka,"klichka");
}

public Integer getNumYears() {
return numYears;
}

public void setNumYears(Integer numYears) {
this.numYears = numYears;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Animal animal)) return false;
return getKlichka().equals(animal.getKlichka()) && getNumYears().equals(animal.getNumYears());
}

@Override
public int hashCode() {
return Objects.hash(getKlichka(), getNumYears());
}
}
Loading