# Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1



## kindofobsessed (7. Jun 2011)

Hey, 
hab gerade was mit Arrays und for-Scheifen programmiert, da erhalte ich
diese Fehlermeldung:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
Was bedeutet sie?
Hier mein code:

```
public static void konvertiere(String pfad, int tage) {
		Workbook workbook=null;
		int arraywert1=tage*97;
		String[][]daten=new String[arraywert1][2];
		double[][]doubledten=new double[96][2];
		int startstelle=1;
		int maxstellen=startstelle+(tage*96);
		try{
			workbook= Workbook.getWorkbook(new File(pfad));
			// Um auf die richtige Mappe zuzugreifen
			Sheet mappe=workbook.getSheet(1);
			for(int i=0;i<maxstellen;i=i+1){
				for(int j=0; j<=1;j=j+1){
					Cell zelle1 = mappe.getCell(i+1,j+1);
					String szelle1 = zelle1.getContents(); 
					daten[i][j]=szelle1;
					System.out.println(String.valueOf(daten[i][j]));
				}
			}

		}catch(Exception e){
			System.out.println("Methode konvertieren: "+e);
		}finally{
			workbook.close();
		}
		
	}
```


----------



## ARadauer (7. Jun 2011)

java.lang.IndexOutOfBoundsException: Index: 1, Size: 1

Array Indizies fangen bei 0 an, Das heißt Element 1 ist das Zweite. Size heißt Größe. Du greifst auf das Zweite zu hast aber nur Eines...


----------



## kindofobsessed (7. Jun 2011)

Erstelle ich hier nicht ein Array mit size 2?

```
String[][]daten=new String[arraywert1][2];
```


----------



## SlaterB (7. Jun 2011)

vielleicht kommt der Fehler ja bei
>  Cell zelle1 = mappe.getCell(i+1,j+1);
dessen Implementierung kann intern durchaus auch Arrays verwenden

immer die genauen Zeilennummern des Fehlers angeben
(bzw. du versteckst sie gar selber vor dir: e.printStackTrace() im catch !!)
an der fraglichen Stelle ruhig selber mit System.out.println die aktuelle Size aller beteiligten Dimensionen aller beteiligten bekannten Arrays ausgeben


----------



## kindofobsessed (7. Jun 2011)

Hab das

```
e.printStackTrace();
```
hinzugefügt. Danke, hat mir geholfen 
Der Fehler war, dass ich mit

```
Sheet mappe=workbook.getSheet(1);
```
auf die 2. Excelmappe anstatt auf die erste zugegriffen habe :applaus:


----------

