首页 > 试题广场 >

简单密码

[编程题]简单密码
  • 热度指数:316442 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}规定这样一种密码的变换方法:
\hspace{23pt}\bullet\,对于密码中的小写字母,参考九键手机键盘,将它们映射为对应的数字,具体地,\mathtt{abc} 对应数字 2\mathtt{def} 对应数字 3\mathtt{ghi} 对应数字 4\mathtt{jkl} 对应数字 5\mathtt{mno} 对应数字 6\mathtt{pqrs} 对应数字 7\mathtt{tuv} 对应数字 8\mathtt{wxyz} 对应数字 9
\hspace{23pt}\bullet\,对于密码中的大写字母,先将其转换为小写,然后向后移动一位,即 \mathtt{Z} 转换为 \mathtt{a}\mathtt{A} 转换为 \mathtt{b}\mathtt{B} 转换为 \mathtt{c}\cdots\mathtt{Y} 转换为 \mathtt{z}\mathtt{Z} 转换为 \mathtt{a}
\hspace{23pt}\bullet\,对于密码中的数字,保持不变。

\hspace{15pt}现在,请你将给定的密码按照上述规则进行变换。

输入描述:
\hspace{15pt}在一行上输入一个长度为 1 \leqq {\rm length}(s) \leqq 100 的字符串 s ,代表给定的密码。


输出描述:
\hspace{15pt}在一行上输出一个字符串,代表变换后的密码。
示例1

输入

NowCoder123

输出

o69d6337123
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            //输入
            String str = in.nextLine();
            //为空或者超长则退出
            if (str.isEmpty() || str.length() > 100 ) {
                break;
            }
            StringBuilder result = new StringBuilder();
            for (char c : str.toCharArray()) {
                //处理小写字母
                if (Character.isLowerCase(c)) {
                    //如果c在字符串中存在,则进入if
                    if ("abc".indexOf(c) != -1) {
                        result.append("2");
                    }
                    if ("def".indexOf(c) != -1) {
                        result.append("3");
                    }
                    if ("ghi".indexOf(c) != -1) {
                        result.append("4");
                    }
                    if ("jkl".indexOf(c) != -1) {
                        result.append("5");
                    }
                    if ("mno".indexOf(c) != -1) {
                        result.append("6");
                    }
                    if ("pqrs".indexOf(c) != -1) {
                        result.append("7");
                    }
                    if ("tuv".indexOf(c) != -1) {
                        result.append(8);
                    }
                    if ("wxyz".indexOf(c) != -1) {
                        result.append(9);
                    }
                }
                //处理大写字母
                if (Character.isUpperCase(c)) {
                    if (c == 'Z') {
                        //对Z进行特殊处理
                        result.append("a");
                    } else {
                        //不是Z的话,将字符转为小写,并且char+1得到下一位小写字母,加入到结果中
                        char temp = Character.toLowerCase(c) ;
                        char[] s = Character.toChars(temp + 1);
                        result.append(s);
                    }
                }
                //处理数字
                if (Character.isDigit(c)) {
                    result.append(c);
                }
            }
            System.out.println(result);
        }
        //
        in.close();
    }
}

发表于 2025-06-23 13:48:29 回复(0)
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String target = in.nextLine();

        char[] ch = target.toCharArray();
        char[] ch1 = new char[ch.length];
        for (int i = 0 ; i < ch.length; i++) {
            if (Character.isLowerCase(ch[i])) {
                if (ch[i] == 'a' || ch[i] == 'b' || ch[i] == 'c') {
                    ch1[i] = '2';
                } else if (ch[i] == 'd' || ch[i] == 'e' || ch[i] == 'f') {
                    ch1[i] = '3';
                } else if (ch[i] == 'g' || ch[i] == 'h' || ch[i] == 'i') {
                    ch1[i] = '4';
                } else if (ch[i] == 'j' || ch[i] == 'k' || ch[i] == 'l') {
                    ch1[i] = '5';
                } else if (ch[i] == 'm' || ch[i] == 'n' || ch[i] == 'o') {
                    ch1[i] = '6';
                } else if (ch[i] == 'p' || ch[i] == 'q' || ch[i] == 'r' || ch[i] == 's') {
                    ch1[i] = '7';
                } else if (ch[i] == 't' || ch[i] == 'u' || ch[i] == 'v') {
                    ch1[i] = '8';
                } else if (ch[i] == 'w' || ch[i] == 'x' || ch[i] == 'y' || ch[i] == 'z') {
                    ch1[i] = '9';
                }
            } else if (Character.isUpperCase(ch[i])) {
                ch1[i] = Character.toLowerCase(ch[i]);
                if (ch1[i] == 'z') {
                    ch1[i] = 'a';
                } else {
                    ch1[i] = (char)(ch1[i] + 1);
                }
            } else if (Character.isDigit(ch[i])) {
                ch1[i] = ch[i];
            }
        }
        String result = String.valueOf(ch1);
        System.out.println(result);
    }
}

发表于 2025-05-18 15:41:07 回复(0)
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 s = in.nextLine();
        StringBuilder str = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            if (String.valueOf(s.charAt(i)).equals("a") ||
                    String.valueOf(s.charAt(i)).equals("b") ||
                    String.valueOf(s.charAt(i)).equals("c")) {
                str.append(2);
            } else if (String.valueOf(s.charAt(i)).equals("d") ||
                       String.valueOf(s.charAt(i)).equals("e") ||
                       String.valueOf(s.charAt(i)).equals("f")) {
                str.append(3);
            } else if (String.valueOf(s.charAt(i)).equals("g") ||
                       String.valueOf(s.charAt(i)).equals("h") ||
                       String.valueOf(s.charAt(i)).equals("i")) {
                str.append(4);
            } else if (String.valueOf(s.charAt(i)).equals("j") ||
                       String.valueOf(s.charAt(i)).equals("k") ||
                       String.valueOf(s.charAt(i)).equals("l")) {
                str.append(5);
            } else if (String.valueOf(s.charAt(i)).equals("m") ||
                       String.valueOf(s.charAt(i)).equals("n") ||
                       String.valueOf(s.charAt(i)).equals("o")) {
                str.append(6);
            } else if (String.valueOf(s.charAt(i)).equals("p") ||
                       String.valueOf(s.charAt(i)).equals("q") ||
                       String.valueOf(s.charAt(i)).equals("r") ||
                       String.valueOf(s.charAt(i)).equals("s")) {
                str.append(7);
            } else if (String.valueOf(s.charAt(i)).equals("t") ||
                       String.valueOf(s.charAt(i)).equals("u") ||
                       String.valueOf(s.charAt(i)).equals("v")) {
                str.append(8);
            } else if (String.valueOf(s.charAt(i)).equals("w") ||
                       String.valueOf(s.charAt(i)).equals("x") ||
                       String.valueOf(s.charAt(i)).equals("y") ||
                       String.valueOf(s.charAt(i)).equals("z")) {
                str.append(9);
            } else if (String.valueOf(s.charAt(i)).equals("A")) {
                str.append("b");
            } else if (String.valueOf(s.charAt(i)).equals("B")) {
                str.append("c");
            } else if (String.valueOf(s.charAt(i)).equals("C")) {
                str.append("d");
            } else if (String.valueOf(s.charAt(i)).equals("D")) {
                str.append("e");
            } else if (String.valueOf(s.charAt(i)).equals("E")) {
                str.append("f");
            } else if (String.valueOf(s.charAt(i)).equals("F")) {
                str.append("g");
            } else if (String.valueOf(s.charAt(i)).equals("G")) {
                str.append("h");
            } else if (String.valueOf(s.charAt(i)).equals("H")) {
                str.append("i");
            } else if (String.valueOf(s.charAt(i)).equals("I")) {
                str.append("j");
            } else if (String.valueOf(s.charAt(i)).equals("J")) {
                str.append("k");
            } else if (String.valueOf(s.charAt(i)).equals("K")) {
                str.append("l");
            } else if (String.valueOf(s.charAt(i)).equals("L")) {
                str.append("m");
            } else if (String.valueOf(s.charAt(i)).equals("M")) {
                str.append("n");
            } else if (String.valueOf(s.charAt(i)).equals("N")) {
                str.append("o");
            } else if (String.valueOf(s.charAt(i)).equals("O")) {
                str.append("p");
            } else if (String.valueOf(s.charAt(i)).equals("P")) {
                str.append("q");
            } else if (String.valueOf(s.charAt(i)).equals("Q")) {
                str.append("r");
            } else if (String.valueOf(s.charAt(i)).equals("R")) {
                str.append("s");
            } else if (String.valueOf(s.charAt(i)).equals("S")) {
                str.append("t");
            } else if (String.valueOf(s.charAt(i)).equals("T")) {
                str.append("u");
            } else if (String.valueOf(s.charAt(i)).equals("U")) {
                str.append("v");
            } else if (String.valueOf(s.charAt(i)).equals("V")) {
                str.append("w");
            } else if (String.valueOf(s.charAt(i)).equals("W")) {
                str.append("x");
            } else if (String.valueOf(s.charAt(i)).equals("X")) {
                str.append("y");
            } else if (String.valueOf(s.charAt(i)).equals("Y")) {
                str.append("z");
            } else if (String.valueOf(s.charAt(i)).equals("Z")) {
                str.append("a");
            } else {
                str.append(s.charAt(i));
            }
        }
        System.out.println(str);
    }
}
发表于 2025-04-14 17:30:29 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String password=in.nextLine();
        StringBuilder result = new StringBuilder();
        for (char c : password.toCharArray()){
            if (Character.isLowerCase(c)) {
                // 小写字母映射为对应的数字
                result.append(getNumberForLowerCase(c));
            } else if (Character.isUpperCase(c)) {
                // 大写字母转换为小写,然后向后移动一位
                result.append(transformUpperCase(c));
            } else {
                // 数字保持不变
                result.append(c);
            }
        }
        System.out.println(result);
    }

    private static int getNumberForLowerCase(char c) {
        switch (c) {
            case 'a':
            case 'b':
            case 'c':
                return 2;
            case 'd':
            case 'e':
            case 'f':
                return 3;
            case 'g':
            case 'h':
            case 'i':
                return 4;
            case 'j':
            case 'k':
            case 'l':
                return 5;
            case 'm':
            case 'n':
            case 'o':
                return 6;
            case 'p':
            case 'q':
            case 'r':
            case 's':
                return 7;
            case 't':
            case 'u':
            case 'v':
                return 8;
            case 'w':
            case 'x':
            case 'y':
            case 'z':
                return 9;
            default:
                throw new IllegalArgumentException("Invalid lowercase letter: " + c);
        }

    }
    private static char transformUpperCase(char c) {
        char lowerCaseChar = Character.toLowerCase(c);
        switch (lowerCaseChar) {
            case 'a':
                return 'b';
            case 'b':
                return 'c';
            case 'c':
                return 'd';
            case 'd':
                return 'e';
            case 'e':
                return 'f';
            case 'f':
                return 'g';
            case 'g':
                return 'h';
            case 'h':
                return 'i';
            case 'i':
                return 'j';
            case 'j':
                return 'k';
            case 'k':
                return 'l';
            case 'l':
                return 'm';
            case 'm':
                return 'n';
            case 'n':
                return 'o';
            case 'o':
                return 'p';
            case 'p':
                return 'q';
            case 'q':
                return 'r';
            case 'r':
                return 's';
            case 's':
                return 't';
            case 't':
                return 'u';
            case 'u':
                return 'v';
            case 'v':
                return 'w';
            case 'w':
                return 'x';
            case 'x':
                return 'y';
            case 'y':
                return 'z';
            case 'z':
                return 'a';
            default:
                throw new IllegalArgumentException("Invalid uppercase letter: " + c);
        }
    }
}
发表于 2025-02-12 19:29:49 回复(1)
import java.util.Scanner;
import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            char[] arr = in.nextLine().toCharArray();
            StringBuilder s = new StringBuilder();
            for (char b : arr) {
                if (Character.isLowerCase(b)) {
                    if (b == 'a' || b == 'b' || b == 'c') {
                        b = '2';
                    } else if (b == 'd' || b == 'e' || b == 'f') {
                        b = '3';
                    } else if (b == 'g' || b == 'h' || b == 'i') {
                        b = '4';
                    } else if (b == 'j' || b == 'k' || b == 'l') {
                        b = '5';
                    } else if (b == 'm' || b == 'n' || b == 'o') {
                        b = '6';
                    } else if (b == 'p' || b == 'q' || b == 'r' || b == 's') {
                        b = '7';
                    } else if (b == 't' || b == 'u' || b == 'v') {
                        b = '8';
                    } else if (b == 'w' || b == 'x' || b == 'y' || b == 'z') {
                        b = '9';
                    }
                } else if (Character.isUpperCase(b)) {
                    if (b == 'Z') {
                        b = 'a';
                    } else if (b >= 'A' || b >= 'Y') {
                        b = (char)(b + 1);
                    }
                    b = Character.toLowerCase(b);
                }
                s.append(b);
            }
            System.out.println(s);
        }
    }
}
发表于 2024-09-10 10:49:20 回复(0)
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import java.util.Scanner;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            System.out.println(encodePassword(in.nextLine()));
        }
    }
    private static String encodePassword(String password){
        //返回加密密码
        String encodePassword = "";
        Map<String,String> dictMap = new ConcurrentHashMap<>();
       // 字典表
       String a = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
       String b = "1234567890bcdefghijklmnopqrstuvwxyza22233344455566677778889999";
        for(int i = 0 ;i < a.length(); i++){
            dictMap.put(Character.toString(a.charAt(i)),Character.toString(b.charAt(i)));
        }
        encodePassword = Arrays.stream(password.split("")).map(s->dictMap.get(s)).collect(Collectors.joining(""));
        return encodePassword;
    }
}

发表于 2024-09-06 01:28:00 回复(0)
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        char[] res = in.nextLine().toCharArray();
        for (int i = 0; i < res.length; i++) {
            if (res[i] == 'w' || res[i] == 'x' || res[i] == 'y' || res[i] == 'z') {
                res[i] = '9';
            } else if (res[i] == 't' || res[i] == 'u' || res[i] == 'v') {
                res[i] = '8';
            } else if (res[i] == 'p' || res[i] == 'q' || res[i] == 'r' || res[i] == 's') {
                res[i] = '7';
            } else if (res[i] == 'm' || res[i] == 'n' || res[i] == 'o') {
                res[i] = '6';
            } else if (res[i] == 'j' || res[i] == 'k' || res[i] == 'l') {
                res[i] = '5';
            } else if (res[i] == 'g' || res[i] == 'h' || res[i] == 'i') {
                res[i] = '4';
            } else if (res[i] == 'd' || res[i] == 'e' || res[i] == 'f') {
                res[i] = '3';
            } else if (res[i] == 'a' || res[i] == 'b' || res[i] == 'c') {
                res[i] = '2';
            } else if (res[i] >= 'A' && res[i] <= 'Y'){
                res[i] += 33; //不能toLowerCase
            } else if (res[i] == 'Z'){
                res[i] = 'a';
            }
        }
        System.out.println(res);
    }
}
发表于 2024-08-14 10:44:17 回复(0)
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String string = in.nextLine();
        System.out.print(changeWords(string));
    }

    // 获取转换后的密码
    private static String changeWords(String string) {
        String tempString = string;
        String[] array = string.split("");
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = 0; i < array.length; i++) {
            String str1 =  changeToLower(array[i]);
            if (str1.equals(array[i])) {
                stringBuilder.append(changeToUpper(array[i]));
            } else {
                stringBuilder.append(str1);
            }
        }
        return stringBuilder.toString();
    }

    // 转换密码中的小写字母(小写字母都变成九键键盘对应的数字)
    private static String changeToLower(String string) {
        if ("abc".contains(string)) {
            return "2";
        }
        if ("def".contains(string)) {
            return "3";
        }
        if ("ghi".contains(string)) {
            return "4";
        }
        if ("jkl".contains(string)) {
            return "5";
        }
        if ("mno".contains(string)) {
            return "6";
        }
        if ("pqrs".contains(string)) {
            return "7";
        }
        if ("tuv".contains(string)) {
            return "8";
        }
        if ("wxyz".contains(string)) {
            return "9";
        }
        return string;
    }

    // 转换密码中的大写字母(大写字母则变成小写之后往后移一位)
    private static String changeToUpper(String string) {
        if ("Z".equals(string)) {
            return "a";
        } else {
            char x = string.toCharArray()[0];
            if (x >= "A".toCharArray()[0] && x < "Z".toCharArray()[0]) {
                char y = string.toLowerCase().toCharArray()[0];
                return Character.toString((char)(y + 1));
            }
        }
        return string;
    }
}
发表于 2024-07-15 20:20:41 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int[] index = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,9,9,9,9};

        char[] input = in.nextLine().toCharArray();
        for(int i=0; i<input.length; i++) {
            if(input[i]>='0' && input[i]<='9') {
                System.out.print(input[i]);
                continue;
            }

            if(input[i]>='a' && input[i]<='z') {
                System.out.print(index[input[i]-'a']);
                continue;
            }

            if(input[i]>='A' && input[i]<'Z') {
                System.out.print((char)(input[i]-'A'+'a'+1));
                continue;
            }

            if(input[i]=='Z') {
                System.out.print('a');
            }
        }
    }
}

发表于 2024-04-27 11:19:20 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String password = sc.nextLine();
        String a = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
        String b = "1234567890bcdefghijklmnopqrstuvwxyza22233344455566677778889999";
        String result = "";
        for (int i = 0; i < password.length(); i++) {
            int index = a.indexOf(password.charAt(i));
            result += b.charAt(index);
        }
        System.out.println(result);
    }
}
编辑于 2024-04-16 23:13:26 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNext()) { // 注意 while 处理多个 case
            String s = in.next();
            for(int i = 0; i < s.length(); i++) {
                String temp = s.substring(i, i + 1);
                if(temp.matches("[a-z]")) {
                    System.out.print(getString(temp));
                } else if(temp.matches("[A-Z]")) {
                    System.out.print(mvString(temp));
                } else {
                    System.out.print(temp);
                }
            }
        }
    }
    //小写
    public static String getString(String s) {
        String res = "";
        if("abc".contains(s)) {
            res = "2";
        } else if("def".contains(s)){
            res = "3";
        }else if("ghi".contains(s)){
            res = "4";
        }else if("jkl".contains(s)){
            res = "5";
        }else if("mno".contains(s)){
            res = "6";
        }else if("pqrs".contains(s)){
            res = "7";
        }else if("tuv".contains(s)){
            res = "8";
        }else if("wxyz".contains(s)){
            res = "9";
        }
        return res;
    }
    //大写
    public static String mvString(String s) {
        String res = "";
        if("Z".equals(s)){
            res = "a";
        } else {
            res = String.valueOf((char)(s.toLowerCase().charAt(0) + 1));
        }
        return res;
    }
}
发表于 2024-03-31 23:38:35 回复(0)
还是映射表爽啊
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args)  {
        Scanner in = new Scanner(System.in);
        String line = in.nextLine();
        String password = simplePassword(line);
        System.out.println(password);
    }
    private  static   char[] map = new char[128];
    static {
        map['a'] = '2';map['b'] = '2';map['c'] = '2';
        map['d'] = '3';map['e'] = '3';map['f'] = '3';
        map['g'] = '4';map['h'] = '4';map['i'] = '4';
        map['j'] = '5';map['k'] = '5';map['l'] = '5';
        map['m'] = '6';map['n'] = '6';map['o'] = '6';
        map['p'] = '7';map['q'] = '7';map['r'] = '7';map['s'] = '7';
        map['t'] = '8';map['u'] = '8';map['v'] = '8';
        map['w'] = '9';map['x'] = '9';map['y'] = '9';map['z'] = '9';
        for (char c = 'A'; c < 'Z'; c++) {
            map[c] = (char) (c - 'A' + 'a'+1);
        }
        for (char c = '0'; c <= '9'; c++) {
            map[c] = c;
        }
        map['Z'] = 'a';

    }



    private static String simplePassword(String line) {
        char[] arr = line.toCharArray();
        for (int i = 0; i < arr.length; i++) {
            char c = arr[i];
            char nc = map[c];
            arr[i] = nc;
        }
        return new String(arr);
    }
}

发表于 2024-03-14 14:25:18 回复(0)
精简版屎山代码
import java.util.Scanner;
public class hj21 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            if(c >= 'A' && c <= 'Z'){
                c = (char) ((c + 33-97)%26 +97);
            }else if(c >= 'a' && c <= 'c'){
                c = '2';
            }else if(c >= 'd' && c <= 'f'){
                c = '3';
            }else if(c >= 'g' && c <= 'i'){
                c = '4';
            }else if(c >= 'j' && c <= 'l'){
                c = '5';
            }else if(c >= 'm' && c <= 'o'){
                c = '6';
            }else if(c >= 'p' && c <= 's'){
                c = '7';
            }else if(c >= 't' && c <= 'v'){
                c = '8';
            }else if(c >= 'w' && c <= 'z'){
                c = '9';
            }
            System.out.print(c);
        }
    }
}

发表于 2024-01-13 17:42:58 回复(0)
 public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        char[] chars = s.toCharArray();
        StringBuilder sb = new StringBuilder();
        for (char c : chars) {
            //    如果是正整数就不需要加密
            if (c >= '0' && c <= '9') {
                sb.append(c);
            } else if (c >= 'A' && c <= 'Y') {
                //    如果是大写字母 那么就将其转为小写字母并且后移一位
                char c1 = (char) (c + 32 + 1);
                sb.append(c1);
            } else if (c == 'Z') {
                sb.append('a');
            } else {
                //    小写字母进行map校验
                switch (c) {
                    case 1:
                        sb.append(1);
                        break;
                    case 'a':
                    case 'b':
                    case 'c':
                        sb.append(2);
                        break;
                    case 'd':
                    case 'e':
                    case 'f':
                        sb.append(3);
                        break;
                    case 'g':
                    case 'h':
                    case 'i':
                        sb.append(4);
                        break;
                    case 'j':
                    case 'k':
                    case 'l':
                        sb.append(5);
                        break;
                    case 'm':
                    case 'n':
                    case 'o':
                        sb.append(6);
                        break;
                    case 'p':
                    case 'q':
                    case 'r':
                    case 's':
                        sb.append(7);
                        break;
                    case 't':
                    case 'u':
                    case 'v':
                        sb.append(8);
                        break;
                    case 'w':
                    case 'x':
                    case 'y':
                    case 'z':
                        sb.append(9);
                        break;
                    case '0':
                        sb.append(0);
                        break;
                }
            }
        }
        System.out.println(sb);
    }

发表于 2024-01-11 20:40:02 回复(0)
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        String result = str.replaceAll("[abc]", "2")
                .replaceAll("[def]", "3")
                .replaceAll("[ghi]", "4")
                .replaceAll("[jkl]", "5")
                .replaceAll("[mno]", "6")
                .replaceAll("[pqrs]", "7")
                .replaceAll("[tuv]", "8")
                .replaceAll("[wxyz]", "9");
        Map<String, String> dict = new HashMap();
        for (int i = 'A'; i < 'Z'; i++) {
            char i1 = (char) (i + 1);
            dict.put(String.valueOf((char) i), String.valueOf(i1).toLowerCase());
        }
        dict.put("Z", "a");
        for (Map.Entry<String, String> entry: dict.entrySet()) {
            result = result.replaceAll(entry.getKey(), entry.getValue());
        }
        System.out.println(result);
    }
}

发表于 2024-01-06 21:36:28 回复(0)
俺这是写了个啥玩意儿啊
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 str = in.nextLine();
        //1. 小写字母转九键
        // for(int i = 0;i < str.length();i++){
        //     switch(str.charAt(i)){
        //         case 'a','b','c':
        //         str.replace()
        //     }
        // }
        str = str.replace('a','2')
        .replace('b','2')
        .replace('c','2')
        .replace('d','3')
        .replace('e','3')
        .replace('f','3')
        .replace('g','4')
        .replace('h','4')
        .replace('i','4')
        .replace('j','5')
        .replace('k','5')
        .replace('l','5')
        .replace('m','6')
        .replace('n','6')
        .replace('o','6')
        .replace('p','7')
        .replace('q','7')
        .replace('r','7')
        .replace('s','7')
        .replace('t','8')
        .replace('u','8')
        .replace('v','8')
        .replace('w','9')
        .replace('x','9')
        .replace('y','9')
        .replace('z','9')
        //2. 大写字母小写之后后移一位
        .replace('A','b')
        .replace('B','c')
        .replace('C','d')
        .replace('D','e')
        .replace('E','f')
        .replace('F','g')
        .replace('G','h')
        .replace('H','i')
        .replace('I','j')
        .replace('J','k')
        .replace('K','l')
        .replace('L','m')
        .replace('M','n')
        .replace('N','o')
        .replace('O','p')
        .replace('P','q')
        .replace('Q','r')
        .replace('R','s')
        .replace('S','t')
        .replace('T','u')
        .replace('U','v')
        .replace('V','w')
        .replace('W','x')
        .replace('X','y')
        .replace('Y','z')
        .replace('Z','a');
        //输出
        System.out.println(str);
    }
}


发表于 2023-12-21 21:50:59 回复(2)
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();
        str = str.replaceAll("[abc]", "2")
                .replaceAll("[def]", "3")
                .replaceAll("[ghi]", "4")
                .replaceAll("[jkl]", "5")
                .replaceAll("[mno]", "6")
                .replaceAll("[pqrs]", "7")
                .replaceAll("[tuv]", "8")
                .replaceAll("[wxyz]", "9");

        StringBuilder stb = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            String s = str.charAt(i)+"";
            if (s.matches("[A-Z]")) {
                s = s.toLowerCase();
                if ("z".equals(s)) {
                    stb.append("a");
                } else {
                    char c = s.charAt(0);
                    stb.append((char) (c+1));
                }
            } else {
                stb.append(s);
            }
        }
        System.out.println(stb);
    }
}

发表于 2023-09-27 16:39:18 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        String str=in.nextLine();
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)>='a'&&str.charAt(i)<='c'){
                System.out.print("2");
            }else if(str.charAt(i)>='d'&&str.charAt(i)<='f'){
                System.out.print("3");
            }else if(str.charAt(i)>='g'&&str.charAt(i)<='i'){
                System.out.print("4");
            }else if(str.charAt(i)>='j'&&str.charAt(i)<='l'){
                System.out.print("5");
            }else if(str.charAt(i)>='m'&&str.charAt(i)<='o'){
                System.out.print("6");
            }else if(str.charAt(i)>='p'&&str.charAt(i)<='s'){
                System.out.print("7");
            }else if(str.charAt(i)>='t'&&str.charAt(i)<='v'){
                System.out.print("8");
            }else if(str.charAt(i)>='w'&&str.charAt(i)<='z'){
                System.out.print("9");
            }else if(str.charAt(i)>='A'&&str.charAt(i)<='Y'){
                System.out.print((char)((int)str.charAt(i)+33));
            }else if(str.charAt(i)=='Z'){
                System.out.print("a");
            }else{
                System.out.print(str.charAt(i));
            }
        }
    }
}

发表于 2023-09-15 21:11:57 回复(0)
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        char[] str=in.nextLine().toCharArray();
        for(int i=0;i<str.length;i++){
            System.out.print(parse(str[i]));
        }
    }

    private static char parse(char c){
        if(c>='a'&&c<='z'){
            if(c>='a'&&c<='c'){
                return '2';
            }
            if(c>='d'&&c<='f'){
                return '3';
            }
            if(c>='g'&&c<='i'){
                return '4';
            }
            if(c>='j'&&c<='l'){
                return '5';
            }
            if(c>='m'&&c<='o'){
                return '6';
            }
            if(c>='p'&&c<='s'){
                return '7';
            }
            if(c>='t'&&c<='v'){
                return '8';
            }
            if(c>='w'&&c<='z'){
                return '9';
            }
        }
        if(c>='A'&&c<='Z'){
            return (char)((c-'A'+1)%26+'a');
        }
        return c;
    }
}

发表于 2023-09-10 15:38:27 回复(0)