题解 | #简单密码# Java版本

简单密码

https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

具体都有注解啦,就不过多阐述了。有问题可评论讨论。(另外:欢迎来笔者的掘金来交流哦~ 南方者  https://juejin.cn/user/2840793779295133/posts
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) throws IOException {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			String str = sc.nextLine();
			StringBuilder sb = new StringBuilder();
			for (char ch : str.toCharArray()) {
				sb.append(getRightChar(ch));
			}
			System.out.println(sb.toString());
		}
	}

	public static char getRightChar(char ch) {
		if (ch >= 'A' && ch <= 'Z') {
			if (ch == 'Z') {
				ch = 'a';
			} else {
				ch += 33; // 大写A是65,小写a是97
			}
			// 符合大写字母的
		} else if (ch >= 'a' && ch <= 'z') {
			// 符合小写字母的
			int num = ch - 'a';
			ch = getNumChar(num);
		}
		return ch;
	}

	// 处理小写字母的变化
	public static char getNumChar(int num) {
		char ch = '9';
		if (num < 3) {
			ch = '2';
		} else if (num < 6) {
			ch = '3';
		} else if (num < 9) {
			ch = '4';
		} else if (num < 12) {
			ch = '5';
		} else if (num < 15) {
			ch = '6';
		} else if (num < 19) {
			ch = '7';
		} else if (num < 22) {
			ch = '8';
		}
		return ch;
	}

}


#面试题##华为面试#
全部评论

相关推荐

Hello_WordN:咱就是说,除了生命其他都是小事,希望面试官平安,希望各位平时也多注意安全
点赞 评论 收藏
分享
铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务