Hallo miteinander!
Ich habe folgendes Problem:
ich will in einem Berechnungsprogramm je nach Bedingung ein Array mit verschiedenen Koeffizienten füllen.
Mit dem unten angegeben Code kommt es immer zu Fehlern beim Compilieren (Illegal start of Expression bei coeff2={...).
Auch der Versuch das Array erst in jedem Case-Pfad zu initialisieren (double[] coeff={...}), funktioniert nicht (Fehler: coeff2 bereits definiert).
Kann man denn ein bereits initialisiertes Array nicht mit mehreren Werten gleichzeitig füllen? Will nämlich umbedingt verhindern, das Array Wert für Wert zu füllen. Bei dem Beispiel geht das von der Menge zwar noch, woanders im Programm muss ich aber nach dem gleichen Schema für 11 Fälle das Array mit 10 Werten füllen. Das wär dann doch ein Bißchen mehr Arbeit.
Beispielcode:
Vielen Dank im Voraus für die hoffentlich kommenden Antworten!
Ich habe folgendes Problem:
ich will in einem Berechnungsprogramm je nach Bedingung ein Array mit verschiedenen Koeffizienten füllen.
Mit dem unten angegeben Code kommt es immer zu Fehlern beim Compilieren (Illegal start of Expression bei coeff2={...).
Auch der Versuch das Array erst in jedem Case-Pfad zu initialisieren (double[] coeff={...}), funktioniert nicht (Fehler: coeff2 bereits definiert).
Kann man denn ein bereits initialisiertes Array nicht mit mehreren Werten gleichzeitig füllen? Will nämlich umbedingt verhindern, das Array Wert für Wert zu füllen. Bei dem Beispiel geht das von der Menge zwar noch, woanders im Programm muss ich aber nach dem gleichen Schema für 11 Fälle das Array mit 10 Werten füllen. Das wär dann doch ein Bißchen mehr Arbeit.
Beispielcode:
Code:
public double heelviscous(double e, int f){
double Fn = e;
int deg = f;
double[] coeff2=new double[4];
switch (deg){
case 5:
coeff2={-4.112, 0.054, -0.027, 6.329};
break;
case 10:
coeff2={-4.522, -0.132, -0.077, 8.738};
break;
case 15:
coeff2={-3.291, -0.389, -0.118, 8.949};
break;
case 20:
coeff2={1.850, -1.200, -0.109, 5.364};
break;
case 25:
coeff2={6.510, -2.305, -0.066, 3.443};
break;
case 30:
coeff2={12.334, -3.911, 0.024, 1.767};
break;
}
double wsphi = ws * ( 1 + 0.01 * ( coeff2[0] + coeff2[1]*(bwl/tc) + coeff2[2]*Math.pow(bwl/tc,2) + coeff2[3]*Cam ) );
double V = Fn*Math.sqrt(G*lwl);
double Rn = (V*0.7*lwl)/NU;
double lgrn = Math.log(Rn)/Math.log(10);
double Cf = 0.075/Math.pow(lgrn-2,2);
double Rfhphi = 0.5*RHO*Math.pow(V,2)*wsphi*Cf;
return Rfhphi;
}
Vielen Dank im Voraus für die hoffentlich kommenden Antworten!