Dem Programm werden zwei Strings übergeben. Der erste "alphabet" ist der String in dem später die im zweiten String "zeichenfolge" stehenden Zeichen verschoben werden, jeweils um den in "verschiebung" übergebenen Wert. Funktioniert leider aber nicht, vielleicht kann jemand helfen.
Fehlermeldung: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 15
Als Bsp.: alphabet: "01234567890+-*/"
zeichenfoolge: "2 * 21 = 42"
verschiebung: 3
erwartete Ausgabe: "5 1 54 = 75"
Fehlermeldung: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 15
Als Bsp.: alphabet: "01234567890+-*/"
zeichenfoolge: "2 * 21 = 42"
verschiebung: 3
erwartete Ausgabe: "5 1 54 = 75"
Java:
public class Verschiebung {
public static void main(String[] args) {
String alphabet = args[0];
String zeichenfolge = args[1];
int verschiebung = Integer.parseInt(args[2]);
int length = zeichenfolge.length();
int length2 = alphabet.length();
int vorne = 0;
int vorne2 = 0;
int hinten = length -1;
int hinten2 = length2 -1;
String ausgabe1 = "";
while (hinten > vorne){
char zeichen = zeichenfolge.charAt(vorne++);
while (hinten2 > vorne){
char stelle = alphabet.charAt(vorne2++);
if (zeichen == stelle){
ausgabe1 = ausgabe1 + alphabet.charAt((vorne+verschiebung));
}
else{
ausgabe1 = ausgabe1 + (char)zeichen;
}
}
}
System.out.println(ausgabe1);
}
}