public class Berechnung { public static void main(String[] args) { if (args.length != 6) /*Überprüfung der Eingabe*/ { System.out.println("Fehler: Die Anzahl der Argumente stimmt nicht!"); } else { double values[] = new double[6]; /*Initalisieren des Arrays für die Eingabe-werte*/ Vektoren Vektor1; /*Variablen für Vektoren*/ Vektoren Vektor2; Vektoren Ergebnis; /*und Zwischenergebnis*/ for(int i=0; i<6; i++) /*Werte einlesen*/ { values[i] = Double.parseDouble(args[i]); } Vektor1 = new Vektoren(values[0], values[1], values[2]);/*Werte in Vektoren Speichern*/ Vektor2 = new Vektoren(values[3], values[4], values[5]); Ergebnis = new Vektoren(); if(Vektor1.laenge(Vektor1) == 0) /*Vektoren dürfen nicht die Länge 0 haben*/ { System.out.println("Fehler: Vektor1 hat die Länge NULL!"); } else if(Vektor2.laenge(Vektor2) == 0) { System.out.println("Fehler: Vektor2 hat die Länge NULL!"); } else /*Ausgabe der Ergebnisse*/ { System.out.println("\n3D-Vektorrechnung"); System.out.println("*****************\n"); /*Addition*/ Ergebnis = Vektor1.addition(Vektor1, Vektor2); System.out.println("v1 + v2:\tx:"+(int)Ergebnis.x+" y:"+(int)Ergebnis.y+" z:"+(int)Ergebnis.z); /*Subtraktion*/ Ergebnis = Vektor1.subtraktion(Vektor1, Vektor2); System.out.println("v1 - v2:\tx:"+(int)Ergebnis.x+" y:"+(int)Ergebnis.y+" z:"+(int)Ergebnis.z); /*Länge*/ System.out.println("laenge(v1):\t"+round(Vektor1.laenge(Vektor1)) ); System.out.println("laenge(v2):\t"+round(Vektor2.laenge(Vektor2)) ); /*Skalarprodukt*/ System.out.println("v1 . v2:\t"+(int)Vektor1.skalar(Vektor1, Vektor2)); /*Kreuzprodukt*/ Ergebnis = Vektor1.kreuz(Vektor1, Vektor2); System.out.println("v1 x v2:\tx:"+(int)Ergebnis.x+" y:"+(int)Ergebnis.y+" z:"+(int)Ergebnis.z); /*Normalisierung*/ Ergebnis = Vektor1.norm(Vektor1, Vektor1.laenge(Vektor1)); System.out.println("norm(v1):\tx:"+round(Ergebnis.x)+" y:"+round(Ergebnis.y)+" z:"+round(Ergebnis.z)); Ergebnis = Vektor2.norm(Vektor2, Vektor2.laenge(Vektor2)); System.out.println("norm(v2):\tx:"+round(Ergebnis.x)+" y:"+round(Ergebnis.y)+" z:"+round(Ergebnis.z)); } } } static double round( double a)/*Funktion zum Runden der Kommazahlen*/ { return Math.rint( a * 1000000 ) / 1000000.; } }