diff --git a/task04/src/com/example/task04/Line.java b/task04/src/com/example/task04/Line.java new file mode 100644 index 00000000..2b87697b --- /dev/null +++ b/task04/src/com/example/task04/Line.java @@ -0,0 +1,27 @@ +package com.example.task04; + +public class Line { + private final Point p1; + private final Point p2; + + public Line(Point p1, Point p2){ + this.p1 = p1; + this.p2 = p2; + } + + public Point getP1() { + return p1; + } + + public Point getP2() { + return p2; + } + + public String toString() { + return String.format("%d, %d", p1.toString(), p2.toString()); + } + + public boolean isCollinearLine(Point p) { + return Math.abs(p.distance(p1) + p.distance(p2) - p1.distance(p2)) < 1e-10; + } +} diff --git a/task04/src/com/example/task04/Point.java b/task04/src/com/example/task04/Point.java new file mode 100644 index 00000000..9ae478bb --- /dev/null +++ b/task04/src/com/example/task04/Point.java @@ -0,0 +1,35 @@ +package com.example.task04; + +public class Point { + int x; + int y; + + public Point(int x, int y) { + this.x = x; + this.y = y; + } + + public Point() { + + } + + void print() { + String pointToString = String.format("(%d, %d)", x, y); + System.out.println(pointToString); + } + + void flip() { + int tmp; + tmp = x; + x = -y; + y = -tmp; + } + + double distance(Point point) { + return Math.sqrt(Math.pow((x - point.x), 2) + Math.pow((y - point.y), 2)); + } + + public String toString() { + return "(" + x + "," + y + ")"; + } +} \ No newline at end of file