# Mehrere Werte gleichzeitig in ein Array schreiben?



## naval architect (7. Jan 2005)

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:


```
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!


----------



## Beni (7. Jan 2005)

Du könntest direkt ein neues Array herstellen:

```
coef2 = new double[]{ 0.1, 0.2, 0.3 }
```
Aber die alte Version verlierst du dabei.


----------



## Icewind (7. Jan 2005)

oder du schreibst dir selber eine funktion dafür...

hm btw welche Klasse ist denn nun die Array klasse...??[/code]


----------



## 0xdeadbeef (7. Jan 2005)

Ach, vergeßt es


----------



## Student (7. Jan 2005)

0xdeadbeef hat gesagt.:
			
		

> Ach, vergeßt es


was?

hä? :?


----------



## 0xdeadbeef (7. Jan 2005)

Hatte da irgendwie was zusammengefaselt, was aber an der Frage vorbeiging  :wink:


----------



## Student (7. Jan 2005)

achso. ^^


----------



## naval architect (7. Jan 2005)

:toll:  Danke Beni, auf die Art klappt es. Mußte nur noch ein default Pfad einfügen, denn sonst kam der Fehler "variable coeff2 might not have been initialized". Das mit dem Verlieren des alten Arrays ist kein Problem.


----------

