Hi Leute,
hab mich so eben angemeldet, weil ich grad an einer Aufgabe verzweifle und einfach nicht mehr weiter weiß. Ich hoffe Ihr könnt mir bei meinen Problemen helfen!
Also meine zwei Klassen, Vector und ScalarProduct (wo die eigentliche Berechnung des Skalarprodukts stattfindet), sehen wie folgt aus:
Wenn ich dann den ersten Eintrag des ersten Vektors eingebe, erhalte ich folgende Fehlermeldung:
Wär echt cool, wenn mir jemand sagen könnte, wo genau der Fehler liegt... und mir erklären könnte, was mir die Fehlermeldung eigentlich mitteilen will!
Gruß
hab mich so eben angemeldet, weil ich grad an einer Aufgabe verzweifle und einfach nicht mehr weiter weiß. Ich hoffe Ihr könnt mir bei meinen Problemen helfen!
Also meine zwei Klassen, Vector und ScalarProduct (wo die eigentliche Berechnung des Skalarprodukts stattfindet), sehen wie folgt aus:
Java:
public class Vector {
int numEntry;
double[] vector = new double[numEntry];
public void setNumEntry(int number){
this.numEntry = number;
}
public int getNumEntry(){
return numEntry;
}
public void addEntry(int index, double number){
vector[index] = number;
}
public double getEntry(int index){
return vector[index];
}
public double Multiply(Vector aVector){
double sum = 0;
for(int i = 0; i < numEntry; i++){
sum += vector[i] * aVector.getEntry(i);
}return sum;
}
}
Java:
import zlwima.support.Input;
public class ScalarProduct {
public static void main(String[] args) {
Vector v1 = new Vector();
Vector v2 = new Vector();
System.out.println("Erster Vektor: ");
System.out.println("Geben Sie die Anzahl der Einträge ein: ");
v1.setNumEntry(Input.readInt());
for(int i = 0; i < v1.getNumEntry(); i++){
System.out.println("Geben Sie den " + (i+1) + ". Eintrag ein: ");
v1.addEntry(i, Input.readDouble());
}
System.out.println("Zweiter Vektor: ");
System.out.println("Geben Sie die Anzahl der Einträge ein: ");
v2.setNumEntry(Input.readInt());
for(int i = 0; i < v2.getNumEntry(); i++){
System.out.println("Geben Sie den " + (i+1) + ". Eintrag ein: ");
v2.addEntry(i, Input.readDouble());
}
if(v1.getNumEntry() == v2.getNumEntry()){
double scalProd = v1.Multiply(v2);
System.out.println(scalProd);
}else{
System.out.println("Berechnung des Skalarprodukts kann nicht" +
" durchgeführt werden! Prüfen Sie noch einmal die" +
" Dimensionierung der beiden Vektoren!");
}
}
}
Wenn ich dann den ersten Eintrag des ersten Vektors eingebe, erhalte ich folgende Fehlermeldung:
Java:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Vector.addEntry(Vector.java:16)
at ScalarProduct.main(ScalarProduct.java:14)
Wär echt cool, wenn mir jemand sagen könnte, wo genau der Fehler liegt... und mir erklären könnte, was mir die Fehlermeldung eigentlich mitteilen will!
Gruß