题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLine()) {
            String key = in.nextLine();
            if (key.isEmpty()) {
                break;
            }
            String str = in.nextLine();
            char[] encrypt = new char[26];
            Set<Character> set = new HashSet<>();
            int k = 0;
            for (int i = 0; i < key.length(); i++) {
                if (set.add(key.charAt(i))) {
                    encrypt[k] = key.charAt(i);
                    k++;
                }
            }
            // 26长度数组下标加上'a'即 (char)('a'+i) 就是字母表
            char alphabet;
            for (int i = 0; i < 26; i++) {
                alphabet = (char)('a' + i);
                if (!set.contains(alphabet)) {
                    encrypt[k] = alphabet;
                    k++;
                }
            }
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < str.length(); i++) {
                sb.append(encrypt[str.charAt(i) - 'a']);
            }

            System.out.println(sb);
        }
        in.close();
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-23 14:18
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务