题解 | #字符串加密#
字符串加密
http://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3
import java.util.; import java.io.;
public class Main{ //字符串加密 public static void main(String[] args) {
final InputStreamReader reader = new InputStreamReader(System.in);
try( BufferedReader br = new BufferedReader(reader)){
char[] chars = br.readLine().toCharArray();
char[] password = br.readLine().toCharArray();
StringBuffer sb = new StringBuffer();
StringBuffer sb_result = new StringBuffer();
String dic = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
LinkedHashSet<Character> set = new LinkedHashSet<>();
LinkedHashSet<Character> set_dic = new LinkedHashSet<>();
char[] chars_dic = dic.toCharArray();
for (char c : chars_dic) {
set_dic.add(c);
}
for (int i = 0; i < chars.length; i++) {
if (!set.contains(chars[i])){
sb.append(chars[i]);
set.add(chars[i]);
set_dic.remove(Character.toUpperCase(chars[i]));
}
}
//生成组合密文
set_dic.forEach(e->sb.append(e));
for (int i = 0; i < password.length; i++) {
//获取字符在原字典中的索引
int index = dic.indexOf(Character.toUpperCase(password[i]));
String now_str = sb.toString().substring(index, index + 1);
if (password[i] <=90) {
sb_result.append(now_str.toUpperCase());
}
else sb_result.append(now_str.toLowerCase());
}
System.out.println(sb_result);
}catch (IOException e){
System.out.println(e.getMessage());
}
}
}
查看19道真题和解析
广发银行公司氛围 23人发布