Interface schluckt Werte |
11.01.2014, 15:29 | Auf diesen Beitrag antworten » | |||||
Haevelin | Interface schluckt Werte Ich habe folgendes Programm zu Vektorrechnung. Ich beginne mit dem Interface: public interface Vector { String Vektor =""; Vector add(Vector v2); Vector mult(double d); double scalarProd(Vector v2); double getNorm(); double getWinkel(Vector v2); Vector projiziereV1aufV2(Vector v2); } Jetzt die Implementierung: import java.util.Arrays; public class VectorRn2 implements Vector{ private String Vektor = ""; public VectorRn2(String zeichen) { Vektor=zeichen; } @Override public Vector add(Vector v2) { // TODO Auto-generated method stub System.out.println(v2.Vektor); String verk = ""; String vekt1[] = this.Vektor.split(","); System.out.println(Arrays.toString(vekt1)); String vekt2[] = v2.Vektor.split(","); System.out.println(Arrays.toString(vekt2)); int[] zwischen = new int[vekt1.length]; if (vekt1.length == vekt2.length) { for (int i = 0; i < vekt1.length; i++) { zwischen[i] = Integer.parseInt(vekt1[i]) + Integer.parseInt(vekt2[i]); verk = verk + String.valueOf(zwischen[i]) + ","; } verk = verk.substring(0, verk.length() - 1); this.Vektor = verk; return this; } else { throw new RuntimeException( "Die Dimensionen der Vektoren stimmen nicht überein"); } } @Override public Vector mult(double d) { // TODO Auto-generated method stub String vekt3[] = this.Vektor.split(","); String verk = ""; double[] zwischen = new double[vekt3.length]; for (int i = 0; i < vekt3.length; i++) { zwischen[i] = (Integer.parseInt(vekt3[i])) * d; verk = verk + String.valueOf(zwischen[i]) + ","; } verk = verk.substring(0, verk.length() - 1); this.Vektor = verk; return this; } @Override public double scalarProd(Vector v2) { // TODO Auto-generated method stub return 0; } @Override public double getNorm() { // TODO Auto-generated method stub return 0; } @Override public double getWinkel(Vector v2) { // TODO Auto-generated method stub return 0; } @Override public Vector projiziereV1aufV2(Vector v2) { // TODO Auto-generated method stub return null; } } Mit folgendem Testprogramm: import java.util.Arrays; public class TestVectorRn2 { public static void main(String[] args) { // TODO Auto-generated method stub String e = "1,2,3,4"; String f = "5,6,7,8"; VectorRn2 v1 = new VectorRn2(e); VectorRn2 v3 = new VectorRn2(f); v1.add(v3); System.out.println((v1)); } } Das Problem ist, dass zwar v1 den Vektor "1,2,3,4" zuordnet, aber v3 durch den Vektor gebildet wird, der im Interface angegeben ist. Wie kann ich v3 aber den Vektor "5,6,7,8" zuordnen? |
|||||
|
||||||
11.01.2014, 16:06 | Auf diesen Beitrag antworten » | |||||
eulerscheZahl |
Aber frage mich jetzt nicht, warum es bei dir nicht geklappt hat, manchmal verstehe ich Java einfach nicht |
|||||
11.01.2014, 17:52 | Auf diesen Beitrag antworten » | |||||
Haevelin | Vielen Dank!!!!! |
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |
|