From d96293bfd223eede933b226694aa29f2ac4b368d Mon Sep 17 00:00:00 2001 From: "Task-1.1" Date: Sun, 27 Dec 2020 04:54:53 +0500 Subject: [PATCH 1/3] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=204.5(1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task05/src/com/example/task05/Point.java | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/04-java-oop-basic/task05/src/com/example/task05/Point.java b/04-java-oop-basic/task05/src/com/example/task05/Point.java index 447fda27f..362da95f5 100644 --- a/04-java-oop-basic/task05/src/com/example/task05/Point.java +++ b/04-java-oop-basic/task05/src/com/example/task05/Point.java @@ -1,49 +1,58 @@ package com.example.task05; -/** - * Точка в двумерном пространстве - */ -public class Point { +public class Point +{ + private final double x, y; - /** - * Конструктор, инициализирующий координаты точки - * - * @param x координата по оси абсцисс - * @param y координата по оси ординат - */ - public Point(double x, double y) { + { + /** + * Конструктор, инициализирующий координаты точки + * + * @param x координата по оси абсцисс + * @param y координата по оси ординат + */ + } + public Point(double x, double y) + { throw new AssertionError(); } + this.x = x; + this.y = y; /** * Возвращает координату точки по оси абсцисс * * @return координату точки по оси X */ +} public double getX() { // TODO: реализовать throw new AssertionError(); + return x; } /** - * Возвращает координату точки по оси ординат - * - * @return координату точки по оси Y + @@ -31,8 +27,7 @@ public double getX() { + * @return координату точки по оси Y */ public double getY() { // TODO: реализовать throw new AssertionError(); + return y; } /** - * Подсчитывает расстояние от текущей точки до точки, переданной в качестве параметра - * - * @param point вторая точка отрезка + @@ -41,9 +36,12 @@ public double getY() { + * @param point вторая точка отрезка * @return расстояние от текущей точки до переданной */ + public String toString() { + return String.format("(%f, %f)", x, y); + } + public double getLength(Point point) { // TODO: реализовать throw new AssertionError(); + return Math.sqrt(Math.pow(x- point.x,2)+Math.pow(y- point.y,2)); } - -} +} \ No newline at end of file From 4dfa4c5043ea8a19ac3130332fe723174bf2a750 Mon Sep 17 00:00:00 2001 From: "Task-1.1" Date: Sun, 27 Dec 2020 04:56:46 +0500 Subject: [PATCH 2/3] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=204.5(2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/example/task05/PolygonalLine.java | 50 ++++++++++++------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/04-java-oop-basic/task05/src/com/example/task05/PolygonalLine.java b/04-java-oop-basic/task05/src/com/example/task05/PolygonalLine.java index 012258eaa..ff6d813d6 100644 --- a/04-java-oop-basic/task05/src/com/example/task05/PolygonalLine.java +++ b/04-java-oop-basic/task05/src/com/example/task05/PolygonalLine.java @@ -1,46 +1,58 @@ package com.example.task05; -/** - * Ломаная линия - */ -public class PolygonalLine { +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +public class PolygonalLine +{ + + private ArrayList points = new ArrayList<>(); /** * Устанавливает точки ломаной линии * * @param points массив точек, которыми нужно проинициализировать ломаную линию */ - public void setPoints(Point[] points) { + public void setPoints(Point[] points) + { // TODO: реализовать + for(Point p : points){ + this.points.add(new Point(p.getX(), p.getY())); + } } /** - * Добавляет точку к ломаной линии - * - * @param point точка, которую нужно добавить к ломаной + @@ -20,7 +28,7 @@ public void setPoints(Point[] points) { + * @param point точка, которую нужно добавить к ломаной */ - public void addPoint(Point point) { + public void addPoint(Point point) + { // TODO: реализовать + points.add(new Point(point.getX(),point.getY())); } /** - * Добавляет точку к ломаной линии - * - * @param x координата по оси абсцисс - * @param y координата по оси ординат + @@ -30,7 +38,7 @@ public void addPoint(Point point) { + * @param y координата по оси ординат */ - public void addPoint(double x, double y) { + public void addPoint(double x, double y) + { // TODO: реализовать + points.add(new Point(x,y)); } /** - * Возвращает длину ломаной линии - * - * @return длину ломаной линии + @@ -39,8 +47,10 @@ public void addPoint(double x, double y){ + * @return длину ломаной линии */ - public double getLength() { + public double getLength() + { // TODO: реализовать throw new AssertionError(); + double sum = 0; + for (int i=0; i Date: Sun, 27 Dec 2020 04:59:26 +0500 Subject: [PATCH 3/3] =?UTF-8?q?=D0=97=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=205.1(1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/com/example/task01/Task01Main.java | 97 ++++++++++++++++++- 1 file changed, 94 insertions(+), 3 deletions(-) diff --git a/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java b/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java index e753463e6..abce6aacd 100644 --- a/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java +++ b/05-java-oop-principles/task01/src/com/example/task01/Task01Main.java @@ -1,7 +1,98 @@ package com.example.task01; -public class Task01Main { - public static void main(String[] args) { +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Hashtable; +import java.util.Objects; +public class Logger +{ + private static final Hashtable loggers = new Hashtable<>(); + protected final String name; + private LoggerLevel level = LoggerLevel.ERROR; + private static final SimpleDateFormat dateFormat = new SimpleDateFormat(" yyyy.MM.dd hh:mm:ss "); + + protected Logger(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + + public static Logger getLogger(String name) + { + return Logger.loggers.computeIfAbsent(name, Logger::new); + } + + public void setLevel(LoggerLevel level) + { + this.level = Objects.requireNonNull(level); + } + + public LoggerLevel getLevel() + { + return level; + } + + private void log(LoggerLevel level, String message) { + + if (level.ordinal() >= this.level.ordinal()) + { + System.err.println("[" + this.level.toString() + "]" + dateFormat.format(new Date()) + + this.name + " - " + message); + } + } + + private void log(LoggerLevel level, String format, Object... objects) + { + if (level.ordinal() >= this.level.ordinal()) + { + System.err.println("[" + this.level.toString() + "]" + dateFormat.format(new Date()) + + this.name + " - " + String.format(format, objects)); + } + } + + public void debug(String message) + { + this.log(LoggerLevel.DEBUG, message); } -} + + public void debug(String format, Object... objects) + { + this.log(LoggerLevel.DEBUG, format, objects); + } + + public void info(String message) + { + this.log(LoggerLevel.INFO, message); + } + + public void info(String format, Object... objects) + { + this.log(LoggerLevel.INFO, format, objects); + } + + public void warning(String message) + { + this.log(LoggerLevel.WARNING, message); + } + + public void warning(String format, Object... objects) + { + this.log(LoggerLevel.WARNING, format, objects); + } + + public void error(String message) + { + this.log(LoggerLevel.ERROR, message); + } + + public void error(String format, Object... objects) + { + this.log(LoggerLevel.ERROR, format, objects); + } + +} \ No newline at end of file