PHP-Code:
public class Tests {
public static double[] add(double[] a, double[] b){
double[] sum;
if(a.length > b.length){
sum=b;
}
else{
sum=a;
}
int i;
for(i=0;i< Math.min(a.length, b.length);i++){
sum[i]=a[i]+b[i];
}
return(sum);
}
public static void main(String[] args) {
double[] e = {1,2,2};
double[] u = {1,0,1};
double[] x= Arraymethods.add(e,u);
for(int i=0; i< x.length; i++){
System.out.println(e[i]+"+"+u[i]+"="+x[i]);
}
}
}
Erwartete Ausgabe:
Code:
1.0+1.0=2.0
2.0+0.0=2.0
2.0+1.0=3.0
Tatsächliche Ausgabe:
Code:
2.0+1.0=2.0
2.0+0.0=2.0
3.0+1.0=3.0
Das heißt, die methode add verändert auch den ersten eingespeisten array. Sieht jemand, warum? Ist bestimmt wieder völlig trivial, aber ich seh's nciht