数字,字母的加密,整型,字符型,字符串类型的相互转化问题
加密:
问题:
如果是数字(0 ~ 9):数字 + 1,如 0 -> 1,1 -> 2,但是 9 -> 0
如果是英文字母(a ~ z,A ~ Z): 当前字母被此字母的后一个字母所替换,同时小写变大写,大写变小写,如 ‘a’ -> ‘B’, ‘C’ -> ‘d’,但是 ‘Z’ -> ‘a’,’z’ -> ‘A’
解密:加密的逆过程
加密方法提炼:
case Character.isDigit(char c):
(Integer.parseInt(String.valueOf(c)) + 1) % 10;
case Character.isLowerCase(char c) :
c = (char) (((c - 32) - 'A' + 1) % 26 + 'A');
case Character.isUpperCase(char c) :
c = (char) (((c + 32) - 'a' + 1) % 26 + 'a');
解密方法
case Character.isDigit(char c):
(Integer.parseInt(String.valueOf(c)) - 1 + 10) % 10;
case Character.isLowerCase(char c) :
c = (char) (((c - 32) - 'A' - 1 + 26) % 26 + 'A');
case Character.isUpperCase(char c) :
c = (char) (((c + 32) - 'a' - 1 + 26) % 26 + 'a');
字符串类型转换为整型:(String -> Integer, int)
Integer.valueOf(String s),返回值为Integer
Integer.valueOf(String s).IntValue(),返回值为int
Integer.parseInt(String s),返回值为int整型转化为字符串类型:(int -> String)
String.valueOf(int i), 返回值为String字符型转化为整型:(char -> int)
Integer.parseInt(String.valueOf(char c)),只限于’0’ -> 0,’3’ -> 3这样的数字型字符转化为整形,如果是‘A’-> 65这样的转化,只需要int i = ‘A’即可。整型转化为字符型:(int -> char),同意只限于整型和数字型字符间的转化
方法一:
int i = 4;
(char) (i + 48) —> 结果是’4’
方法二:
String s = String.vauleOf(int i)
char c = s.charAt(0)