Vielen Dank, habe deine Änderungen berücksichtigt und es auch so angepasst, dass der Fehler mit den Arrays nicht mehr passiert 
[CODE=java]public class FormenTest{
public static GeometrischeForm erzeuge(String[] array){
GeometrischeForm form = null;
try{
String objektName = array[0];
double array1 = Double.parseDouble(array[1]);
if(objektName.equals("Kreis")){
form = new Kreis(array1);
}
if(objektName.equals("Quadrat")){
form = new Quadrat(array1);
}
if(objektName.equals("Rechteck")){
double array2 = Double.parseDouble(array[2]);
form = new Rechteck(array1, array2);
}
if(objektName.equals("Dreieck")){
double array2 = Double.parseDouble(array[2]);
double array3 = Double.parseDouble(array[3]);
form = new Dreieck(array1, array2, array3);
}
}
catch(IndexOutOfBoundsException e1){
System.out.println("Fehler");
}
return form;
}
public static void main(String[] args){
String[] array0 = {"Dreieck", "3.0", "4.0", "5.0"};
String[] array1 = {"Quadrat", "3.0"};
String[] array2 = {"3eck", "3.0", "4.0", "5.0"};
String[] array3 = {"Dreieck", "3.0", "4.0"};
GeometrischeForm form1 = erzeuge(array0);
GeometrischeForm form2 = erzeuge(array1);
GeometrischeForm form3 = erzeuge(array2);
GeometrischeForm form4 = erzeuge(array3);
}
}[/CODE]