Interface schluckt Werte

Neue Frage »

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?
 
Auf diesen Beitrag antworten »
eulerscheZahl

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
@Override
public String toString()
{
	return this.Vektor;
}

public Vector add(Vector v2) {
//...
    String vekt2[] = v2.toString().split(",");
//...
}

Aber frage mich jetzt nicht, warum es bei dir nicht geklappt hat, manchmal verstehe ich Java einfach nicht verwirrt
Auf diesen Beitrag antworten »
Haevelin

Vielen Dank!!!!!
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »