Как заменить одно за другим значения списка массивов и сохранить значения другого массива, используя цикл for?
Поскольку я хочу, чтобы пользователь написал любую строку, то я хочу, чтобы код исключил всечисла, а также символы из пользовательского ввода и преобразование оставшегося пользовательского ввода в верхний регистр, а затем, если я получаю что-то BDJH из программы, я хочу, чтобы программа сместила значение алфавита на единицу, поэтому ответ должен быть или выход должен быть CEKIкак (раньше это был BDJH, смещенный на единицу в алфавитном порядке).
Но моя программа не работает, я не знаю ошибку.
import java.util.ArrayList;
import java.util.Scanner;
public class nanana {
public static void main(String[] args){
System.out.println("ENTER THE NUMBER YOU WANT ENCRYPTED");
Scanner input1=new Scanner(System.in);
String name =input1.nextLine();
encryption(name);
name=name.toUpperCase();
ArrayList<Character> nilkil =new ArrayList<Character>();
for(int i=0;i<=name.length()-1;i++){
nilkil.add(name.charAt(i));
}
char[] deep={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
for(int j=0;j<=nilkil.size()-1;j++) {
for (int p = 0; p <=deep.length-1; p++) {
if(nilkil.get(j)==deep[p]){
nilkil.add(j,deep[p+1]);
}
}
}
System.out.println(nilkil.toString());
}
public static String encryption(String name){
name=name.replaceAll("[^a-zA-Z]" ,"");
name=name.toUpperCase();
System.out.println(name);
return name;
}
}