# Problem mit Feldbefüllung



## ert009 (8. Mai 2010)

Es eigentlich ein total simples Problem aber irgendwie komm ich grad nich drauf.Und zwar muss ich ein Feld erstellen das eine bestimmte Anzahl von Zahlen enthält die man vorher durch eine Variabel festlegt.
Das Problem dabei ist,dass das Feld mit Zahlen gefüllt sein muss nach folgenden Prinzip
zahlen[0]=2
zahlen [0+1]=2+1
Ich habe es schon versucht aber es funktioniert nicht.

```
public class sde
{
    private int [ ] zahlen;
 
  

     
  
     public void Feldgroesse(int x){
     
        zahlen = new int [x];
       

        zahlen[0]=2;      
        for (int i=2;i<x+1;i++){
        }
    }
}
```
   []


----------



## SlaterB (8. Mai 2010)

for (int i=2;i<x+1;i++){
zahlen_=i;      
        }

jetzt nur noch variieren, den Start-Index, den End-Index und was jedem Feld zugewiesen wird_


----------



## ert009 (8. Mai 2010)

Ich habe das jetzt so gemacht wie vorher beschrieben und beim ersten mal hat es auch funktioniert als ich es nochmal probiert habe kam aber die Fehlermeldung Array index out of bounds exception


----------



## Final_Striker (9. Mai 2010)

ert009 hat gesagt.:


> Ich habe das jetzt so gemacht wie vorher beschrieben und beim ersten mal hat es auch funktioniert als ich es nochmal probiert habe kam aber die Fehlermeldung Array index out of bounds exception



sehr unwahrscheinlich

ein Array der Länge 10 läuft von 0 bin 9. deine for-Schleife mit x+1 läuft aber bis zum Feld 10. ;-)


----------



## ert009 (9. Mai 2010)

```
public class sde

{
    private int [ ] zahlen;
    private int a;      

  

     
  
     public void Feldgroesse(int x){
      int a= x+1;
        zahlen = new int [x];
       

        zahlen[0]=2;
        
    

        for (int i=2;i<x;i++){
        zahlen[i]=i;
        }
    }
}
```
Wenn ich das jetzt ausprobiere bekomme ich immer noch nicht die Werte von 2 bis 20 raus woran liegt das,bzw wire kann ich das Problem lösen?


----------



## SlaterB (10. Mai 2010)

duch simpleste Dinge, die man sich überhaupt denken kann, z.B.

zahlen_=i+300;
statt
zahlen=i;

du kannst alles verändern so wie du es brauchst_


----------



## blawa (11. Mai 2010)

soll in deinem array das so stehen:
a[0]=2
a[1]=3
a[2]=4
a[3]=5 usw?

weil falls ja, solltest du die schleife so machen:


```
private int [ ] zahlen;
// hier init einfuegen
// ...
// ...
zahlen[0]=2;
for (int i=1;i<zahlen.size();i++) { 
zahlen[i]=2+i;
}
```

oder soll in dem array immer um einz hochgezählt werden?


----------

