题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
我看了很多前辈的解答,发现大多都是将字符串存储到list当中,拆分成每个字符进行替换处理,我便提供一个不把字符串拆解为字符的思路,希望能与大家多加交流:)
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String input = in.nextLine();
input = input.replaceAll("[abc]", "2");
input = input.replaceAll("[def]", "3");
input = input.replaceAll("[ghi]", "4");
input = input.replaceAll("[jkl]", "5");
input = input.replaceAll("[mno]", "6");
input = input.replaceAll("[pqrs]", "7");
input = input.replaceAll("[tuv]", "8");
input = input.replaceAll("[wxyz]", "9");
input = input.replaceAll("Z","a");
for(int i=65; i<90;i++){
int j=i+33;
input = input.replaceAll(Character.toString((char)i),Character.toString((char)j));
}
System.out.println(input);
}
}
