Länge Substring

AS

Mitglied
Hallo,

ich bekomme die ganze Zeit eine Fehlermeldung, die ich nicht verstehe. Ich möchte eine Methode schreiben, die einen String nimmt und "verschlüsselt". Das geschieht, indem die Zeichen des Strings abwechselnd vorne und hinten an einen neuen String angehängt werden sollen. Das ganze möchte ich mit einer Liste machen. Beispiel:

Oberhuber --> rbheObrue

Java:
public static String verschlüsseln(String a){
	ArrayList <String> test= new ArrayList<String>();	
	String verschlüsselt="";		
	for (int i=0;i<a.length(); ){	
		test.set(0, a.substring(i,i+1));
		test.set(test.size(), a.substring(i+1, i+2));
		i=i+2;
		}
	if (neu.size()/2 > Math.round(neu.size())){
		test.set(a.length(), a.substring(a.length(), a.length()));
		}	
	for(int i=0; i<a.length(); i++){
		verschlüsselt +=test.get(i);
		} 
return	verschlüsselt;
}

Als Fehlermeldung bekomme ich dann immer folgendes:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0

Das soll in dieser Zeile sein:

Java:
test.set(0, a.substring(i,i+1));
Wie geht denn das? Die Länge des Substrings ist doch nicht 0?

Falls sonst noch viele Fehler drin sein sollten, würde ich die gerne selber finden. Vielen Dank schon mal im Voraus!

Gruß AS
 
Doch deine ArrayList ist ja leer. Wenn Du nun versuchst den Inhalt von index 0 zu ändern gibt es eine Exception. Du musst die neuen Inhalte mit add() hinzufügen.

Gruß

Claus
 

Zurück
Oben