package com.patience.interview.huawei;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* 简单密码实现
* @author Green.Gee
* @date 2022/8/19 10:34
* @email green.gee.lu@gmail.com
*/
public class SimplePwdChanged {
// 字母表
private static final char[] WORDS = {
'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'
};
/**
* 通过输入参数确定 大写字母字符然后找到该字符的下一个大写字母字符
* 如果是A则下一个是Z
* 最后将大写字符转成小写字母字符
*/
private static char findWord(char C){
char result = '0';
for (int i = 0; i < WORDS.length; i++){
if(C == WORDS[i]){
if((i + 1) == WORDS.length){// last element
result = WORDS[0];
}else{
result = WORDS[i + 1];
}
}
}
result = (result + "").toLowerCase().charAt(0);
return result;
}
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
char [] chars = str.toCharArray();
for(int i = 0; i < chars.length; i++){
char c = chars[i];
if(c >= 'A' && c <= 'Z'){
System.out.print(findWord(c));
}else if(c >= 'a' && c <= 'z'){
if(c >= 'a' && c <= 'c'){
System.out.print('2');
}else if(c >= 'd' && c <= 'f'){
System.out.print('3');
}else if(c >= 'g' && c <= 'i'){
System.out.print('4');
}else if(c >= 'j' && c <= 'l'){
System.out.print('5');
}else if(c >= 'm' && c <= 'o'){
System.out.print('6');
}else if(c >= 'p' && c <= 's'){
System.out.print('7');
}else if(c >= 't' && c <= 'v'){
System.out.print('8');
}else{
System.out.print('9');
}
//java 17 的 switch
/* switch (c) {
case 'a','b','c' -> r = '2';
case 'd','e','f' -> r = '3';
case 'g','h','i' -> r = '4';
case 'j','k','l' -> r = '5';
case 'm','n','o' -> r = '6';
case 'p','q','r','s' -> r = '7';
case 't','u','v' -> r = '8';
case 'w','x','y','z' -> r = '9';
default -> r = ' ';
};
System.out.print(r == ' ' ? "" : r);
*/
}else{
System.out.print(c);
}
}
}
}
密码变换输出 java 算法
最新推荐文章于 2024-07-24 21:47:59 发布