Я пытаюсь отредактировать массив с помощью метода. Я вырезал большую часть своего кода, чтобы попытаться изолировать ту часть, которую я не могу заставить работать.
import java.util.*;
public class moretesting {
public static void shift() {
for (int i = 0; i < message.length(); i++) {
arr[i] = arr[i] + 1;
if (arr[i] > 126) {
arr[i] = arr[i] - 95;
} else if (arr[i] < 32) {
arr[i] = arr[i] + 95;
}
}
}
public static void main(String[] args) {
String message = "abc";
int arr[] = new int[message.length()];
for (int i = 0; i < message.length(); i++) {
arr[i] = message.charAt(i);
}
shift();
System.out.println(Arrays.toString(arr));
}
}
Я получаю сообщение об ошибке «Исключение в потоке« main »java .lang.Error: нерешенные проблемы компиляции: сообщение не может быть разрешено arr не может быть разрешено в переменную (это повторяется несколько раз) в moretesting.shift (moretesting. java: 4) в moretesting.main (moretesting. java : 19) "
Я почти уверен, что это как-то связано с областью действия моих переменных, но я не могу этого понять. Это также мой первый пост здесь, так что извините, если форматирование не самое лучшее.