diff --git a/VectorDemo/.classpath b/VectorDemo/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..a1b9f764a6fbdc7a44d922512e628a040f066974
--- /dev/null
+++ b/VectorDemo/.classpath
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/VectorDemo/.gitignore b/VectorDemo/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ae3c1726048cd06b9a143e0376ed46dd9b9a8d53
--- /dev/null
+++ b/VectorDemo/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/VectorDemo/.project b/VectorDemo/.project
new file mode 100644
index 0000000000000000000000000000000000000000..be10c223da8f6833c290c8c8b8e495de7af6f19f
--- /dev/null
+++ b/VectorDemo/.project
@@ -0,0 +1,17 @@
+
+
+ VectorDemo
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+
+
diff --git a/VectorDemo/.settings/org.eclipse.core.resources.prefs b/VectorDemo/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/VectorDemo/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/VectorDemo/.settings/org.eclipse.jdt.core.prefs b/VectorDemo/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..9a7984bb6c3f1e10e23bb2027abcfa84ae076ca5
--- /dev/null
+++ b/VectorDemo/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=21
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=21
diff --git a/VectorDemo/src/vectorDemo/Main.java b/VectorDemo/src/vectorDemo/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..c7ca59ed8525fcc50c0ae9eb50d930c61c469139
--- /dev/null
+++ b/VectorDemo/src/vectorDemo/Main.java
@@ -0,0 +1,22 @@
+package vectorDemo;
+
+public class Main {
+ public static void main(String[] args) {
+ Vector2D v1 = new Vector2D(3, 4);
+ Vector2D v2 = new Vector2D(1, 2);
+
+ System.out.println("v1: " + v1);
+ System.out.println("v2: " + v2);
+
+ System.out.println("Länge von v1: " + v1.magnitude());
+ System.out.println("v1 normalisiert: " + v1.normalize());
+
+ Vector2D v3 = v1.add(v2);
+ System.out.println("v1 + v2: " + v3);
+
+ Vector2D v4 = v1.subtract(v2);
+ System.out.println("v1 - v2: " + v4);
+
+ System.out.println("Skalarprodukt von v1 und v2: " + v1.dot(v2));
+ }
+}
diff --git a/VectorDemo/src/vectorDemo/Vector2D.java b/VectorDemo/src/vectorDemo/Vector2D.java
new file mode 100644
index 0000000000000000000000000000000000000000..9cb00e9865d63def9297a1f1b031cf08c8f11cf0
--- /dev/null
+++ b/VectorDemo/src/vectorDemo/Vector2D.java
@@ -0,0 +1,71 @@
+package vectorDemo;
+
+// Dummy Vektor.Klasse zur Übungzwecken elementarer Grammatik und merge_request
+
+public class Vector2D {
+ private double x;
+ private double y;
+
+ // Konstruktor
+ public Vector2D(double x, double y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ // Getter und Setter
+ public double getX() {
+ return x;
+ }
+
+ public void setX(double x) {
+ this.x = x;
+ }
+
+ public double getY() {
+ return y;
+ }
+
+ public void setY(double y) {
+ this.y = y;
+ }
+
+ // Länge des Vektors (Norm)
+ public double magnitude() {
+ return Math.sqrt(x * x + y * y);
+ }
+
+ // Normalisierung des Vektors
+ public Vector2D normalize() {
+ double mag = magnitude();
+ if (mag == 0) {
+ throw new ArithmeticException("Cannot normalize a zero vector");
+ }
+ return new Vector2D(x / mag, y / mag);
+ }
+
+ // Vektoraddition
+ public Vector2D add(Vector2D other) {
+ return new Vector2D(this.x + other.x, this.y + other.y);
+ }
+
+ // Vektorsubtraktion
+ public Vector2D subtract(Vector2D other) {
+ return new Vector2D(this.x - other.x, this.y - other.y);
+ }
+
+ // Skalar-Multiplikation
+ public Vector2D multiply(double scalar) {
+ return new Vector2D(this.x * scalar, this.y * scalar);
+ }
+
+ // Skalarprodukt (Dot-Produkt)
+ public double dot(Vector2D other) {
+ return this.x * other.x + this.y * other.y;
+ }
+
+ // String-Repräsentation
+ @Override
+ public String toString() {
+ return "Vector2D(" + x + ", " + y + ")";
+ }
+}