about summary refs log tree commit diff
path: root/usth/ICT2.2/labwork/4/Closest.java
diff options
context:
space:
mode:
authorNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-15 10:34:58 +0700
committerNguyễn Gia Phong <vn.mcsinyx@gmail.com>2019-12-15 15:00:00 +0700
commit67393f42f41ab92219deb549f711121c4dab845b (patch)
treeebd0eb6c8a3d3bd69937312179aeaf273ea29c80 /usth/ICT2.2/labwork/4/Closest.java
parentb38d9929f7a015b56b847fde7e83f814f354497e (diff)
downloadcp-67393f42f41ab92219deb549f711121c4dab845b.tar.gz
[usth/ICT2.2] Object Oriented Programming
Diffstat (limited to 'usth/ICT2.2/labwork/4/Closest.java')
-rw-r--r--usth/ICT2.2/labwork/4/Closest.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/usth/ICT2.2/labwork/4/Closest.java b/usth/ICT2.2/labwork/4/Closest.java
new file mode 100644
index 0000000..2f1e45d
--- /dev/null
+++ b/usth/ICT2.2/labwork/4/Closest.java
@@ -0,0 +1,45 @@
+import java.util.Scanner;
+
+class Closest
+{
+  private static double x, y, z;
+
+  private static double dist(double a, double b, double c)
+  {
+    double g = x - a;
+    double h = y - b;
+    double i = z - c;
+    return g*g + h*h + i*i;
+  }
+
+  public static void main(String... args)
+  {
+    var scanner = new Scanner(System.in);
+    Double length = null;
+    double a = 0.0, b = 0.0, c = 0.0;
+
+    x = Double.parseDouble(args[0]);
+    y = Double.parseDouble(args[1]);
+    z = Double.parseDouble(args[2]);
+    while (scanner.hasNextDouble())
+      {
+        double d = scanner.nextDouble();
+        if (!scanner.hasNextDouble())
+          break;
+        double e = scanner.nextDouble();
+        if (!scanner.hasNextDouble())
+          break;
+        double f = scanner.nextDouble();
+        double len = dist(d, e, f);
+
+        if (length == null || len < length)
+          {
+            length = len;
+            a = d;
+            b = e;
+            c = f;
+          }
+      }
+    System.out.println(a + " " + b + " " + c);
+  }
+}