about summary refs log tree commit diff
path: root/usth/ICT2.2/labwork/3/Java/Vector.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/3/Java/Vector.java
parentb38d9929f7a015b56b847fde7e83f814f354497e (diff)
downloadcp-67393f42f41ab92219deb549f711121c4dab845b.tar.gz
[usth/ICT2.2] Object Oriented Programming
Diffstat (limited to 'usth/ICT2.2/labwork/3/Java/Vector.java')
-rw-r--r--usth/ICT2.2/labwork/3/Java/Vector.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/usth/ICT2.2/labwork/3/Java/Vector.java b/usth/ICT2.2/labwork/3/Java/Vector.java
new file mode 100644
index 0000000..3fc9137
--- /dev/null
+++ b/usth/ICT2.2/labwork/3/Java/Vector.java
@@ -0,0 +1,39 @@
+public class Vector
+{
+  // There's nothing to validate
+  public int x;
+  public int y;
+
+  public Vector()
+  {
+    this(0, 0);
+  }
+
+  public Vector(int x, int y)
+  {
+    this.x = x;
+    this.y = y;
+  }
+
+  public String toString()
+  {
+    // I feel bad writing this
+    return "(" + x + ", " + y + ")";
+  }
+
+  public Vector add(Vector other)
+  {
+    return new Vector(this.x + other.x, this.y + other.y);
+  }
+
+  public Vector subtract(Vector other)
+  {
+    return new Vector(this.x - other.x, this.y - other.y);
+  }
+
+  public Vector multiply(Vector other)
+  {
+    // instruction unclear, applying element-wise multiplication
+    return new Vector(this.x * other.x, this.y * other.y);
+  }
+}