Hallo
Ich hab diese Aufgabe
Ein Vektor ist im n-dim. Raum mit den kartesischen Koordinaten durch n
Gleitkommazahlen, etwa ein Array gegeben.
Erstellen Sie eine Klasse Vektor, welche das Arbeiten mit Vektoren ermöglicht:
Die Methoden (Funktionen) für die Addition void add(Vektor V), die Skalarmultiplikation
scalar(double d) und den Betrag double length() sind zu realisieren.
Erzeugen und Initialisieren Sie diese Klasse mit geeigneten Konstruktoren.
Erweitern Sie Ihre Klasse um die Funktionen boolean equals(Vektor V) zur Prüfung auf
gleichen Inhalt, toString() zur Ausgabe eines Vektors sowie Vektor clone() zum
duplizieren der Werte eines Vektors.
Hab es auch schon so weit fast fertig bis auf die toString, clone, equals methode Heißt das in der Angabe das ich die Klasse erweitere indem ich die Klasse Tupel vererbe und die 3 anderen Methoden hinzufüge?????
Hier mal mein code
Ich weiß das ihr keine Aufgaben lösen wollt aber ich bitte euch trotzdem meine Fehler im Program zu verbessern
Danke
lg Stevo
Ich hab diese Aufgabe
Ein Vektor ist im n-dim. Raum mit den kartesischen Koordinaten durch n
Gleitkommazahlen, etwa ein Array gegeben.
Erstellen Sie eine Klasse Vektor, welche das Arbeiten mit Vektoren ermöglicht:
Die Methoden (Funktionen) für die Addition void add(Vektor V), die Skalarmultiplikation
scalar(double d) und den Betrag double length() sind zu realisieren.
Erzeugen und Initialisieren Sie diese Klasse mit geeigneten Konstruktoren.
Erweitern Sie Ihre Klasse um die Funktionen boolean equals(Vektor V) zur Prüfung auf
gleichen Inhalt, toString() zur Ausgabe eines Vektors sowie Vektor clone() zum
duplizieren der Werte eines Vektors.
Hab es auch schon so weit fast fertig bis auf die toString, clone, equals methode Heißt das in der Angabe das ich die Klasse erweitere indem ich die Klasse Tupel vererbe und die 3 anderen Methoden hinzufüge?????
Hier mal mein code
Code:
class Tupel {
double []a;
public Tupel(double[] a) {
this.a = a;
}
double length(Tupel v) {
double sum=0;
for(int i=0;i<=a.length-1;i++) {
sum = sum+(a[i]*a[i]);
}
return Math.sqrt(sum);
}
void add(Tupel v) {
for(int i=0;i<=a.length-1;i++) {
this.a[i]=a[i]+v.a[i];
}
}
void multiply(double d) {
for(int i=0;i<=a.length-1;i++) {
this.a[i]=a[i]*d;
}
}
double scalarProduct(Tupel v) {
double skalar=0;
for(int i=0;i<=a.length-1;i++) {
skalar=skalar+a[i]*v.a[i];
}
return skalar;
}
}
class Tupel1 extends Tupel {
public String toString() {
String s="("+a[0];
for(int i=1;i<=a.length-1;i++) {
s =s+", "+a[i];
}
return s+")";
}
}
public boolean equals(Tupel v) {
for(int i=0;i<=a.length-1;++) {
if (a[i]==b[i]) {
return true;
}
else {
return false;
}
}
}
public Tupel clone(){
Tupel clone = new Tupel();
clone.a = a;
return clone;
}
}
public class Vector{
public static void main(String args[]) {
double []a={1,2,3,4};
Tupel v = new Tupel(a);
v.add(new Tupel(a));
Out.println("v = " +v.toString());
double []b={3,3,3,3};
Out.println("scalar product = " + v.scalarProduct(new Tupel(b)));
}
}
Danke
lg Stevo