【发布时间】:2018-06-10 16:45:52
【问题描述】:
如何用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;
}
}
【问题讨论】:
-
它没有运行但你不知道错误?发生什么了?它会崩溃吗?不需要输出?
-
当我提供像 asdd 这样的输入时,控制台只返回 ASDD 但它应该返回 BTEE ????
标签: java arrays loops arraylist