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

时间:2018-06-10 16:45:52

标签: java arrays loops arraylist

如何逐个替换数组列表的值并使用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;
    }
}

2 个答案:

答案 0 :(得分:0)

您可以通过将输入字符串转换为字符数组,然后根据需要将每个ASCII字符增加1来完成此操作。有一点让你的班级名字有意义,并以Caps开头。

div_id

答案 1 :(得分:0)

请为您的问题找到正确的答案。

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;
    }
}