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

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:
Java:
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();
		}
		
	}
 
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...
 
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
 
Hab das
Java:
e.printStackTrace();
hinzugefügt. Danke, hat mir geholfen 🙂
Der Fehler war, dass ich mit
Java:
Sheet mappe=workbook.getSheet(1);
auf die 2. Excelmappe anstatt auf die erste zugegriffen habe :applaus:
 

Zurück
Oben