У меня проблемы с запуском этого l oop для назначения в университет. Выполняется первая, которая дает правильную первую букву, но затем выдает ошибку, потому что конечный индекс каким-то образом находится вне диапазона. Я пытался настроить несколько вещей, но это все еще не работает.
Это ошибка:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 2
at java.lang.String.substring(String.java:1963)
at Assignment4.Question4.main(Question4.java:18)
Мой код:
package Assignment4;
import java.util.Scanner;
public class Question4 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Type a string: ");
String message = in.nextLine();
System.out.print("Type a key of the same length: ");
String key = in.nextLine();
in.close();
int messageLength = message.length();
for (int a = 0, b = 1; a < messageLength && b <= messageLength; a++, b++) {
key = key.substring(a,b);
message = message.substring(a,b);
System.out.print(String.valueOf((char)(message.charAt(0) + Integer.parseInt(key))));
}
}
}