Java 逐个替换数组列表的值,并使用for循环存储另一个数组的值

Java 逐个替换数组列表的值,并使用for循环存储另一个数组的值,java,arrays,loops,arraylist,Java,Arrays,Loops,Arraylist,如何使用for循环逐个替换数组列表的值并存储另一个数组的值 因为我想让用户写任何一行,然后我希望代码从用户输入中删除所有的数字和符号,并将剩余的用户输入转换为大写,然后如果我从程序中得到一些BDJH,我希望程序将字母表的值移位一,因此答案应该是,或者输出应该是CEKI,就像之前的一样,它被BDJH移位了一英寸按字母顺序排列 但是我的程序没有运行,我不知道错误 import java.util.ArrayList; import java.util.Scanner; public class n

如何使用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;
    }
}

您可以通过将输入字符串转换为字符数组,然后根据需要将每个ASCII字符递增1来完成此操作。有一件事让你的类名有意义,并且以大写开头

public class CharacterConversion{
     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();

            char[] namesArray = name.toCharArray();

            for(int i=0;i<namesArray.length;i++){
              namesArray[i] = (char) (namesArray[i]+1);
            }
            System.out.println(new String(namesArray));
        }

        public static String encryption(String name){
            name=name.replaceAll("[^a-zA-Z]" ,"");
            name=name.toUpperCase();
            System.out.println(name);
            return name;
        }

}

请找出你问题的正确答案

import java.util.*;

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();
        name=encryption(name);
        ArrayList<Character> nilkil =new ArrayList<Character>();
        for(int i=0;i<=name.length()-1;i++){
            nilkil.add(name.charAt(i));
        }
        String answer="";
        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++) {
            if(nilkil.get(j)=='Z') //Replacing Z with A
                answer=answer+'A';
            else{
            for (int p = 0; p <deep.length-1; p++) {
                if (nilkil.get(j) == deep[p]) {
                    answer = answer + deep[p + 1];
                    break;
                }
            }


            }

        }
        System.out.println(answer);
    }


    public  static String encryption(String name){
        name=name.replaceAll("[^a-zA-Z]" ,"");
        name=name.toUpperCase();
        return name;
    }
}

它没有运行,但您不知道错误?会发生什么?它会崩溃吗?非期望输出?当我给出类似asdd的输入时,控制台仅返回asdd,但它应返回BTEE???,输入a1b2c3输出B2C3D4。它不会按照OP的要求删除数字