对字符串加密 华为测试题
/** * 对字符串加密 */ public static String encodeStr(String srcDecodeStr){ if (srcDecodeStr == null || srcDecodeStr.trim().isEmpty()) { System.out.println("输入待加密字符串为空!"); return null; } int length = srcDecodeStr.length(); if (length>1000){ System.out.println("输入待加密字符串太长,超过1000个字符!"); return null; } for (int i = 0; i < length; i++) { char charTemp = srcDecodeStr.charAt(i); if (!(Character.isDigit(charTemp) || Character.isLowerCase(charTemp) || Character.isUpperCase(charTemp))){ System.out.println("输入待加密字符串非法!"); return null; } } StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < length; i++) { Character encodeChar=null; char charTemp = srcDecodeStr.charAt(i); if (Character.isDigit(charTemp)){ if (charTemp < '9'){ encodeChar = (char) (charTemp + 1); }else { encodeChar='0'; } }else { if (Character.isLowerCase(charTemp)){ char newChar = (char) (charTemp - 32); if (newChar < 'Z'){ encodeChar = (char) (newChar + 1); }else { encodeChar='A'; } }else { char newChar = (char) (charTemp + 32); if (newChar < 'z'){ encodeChar = (char) (newChar + 1); }else { encodeChar='a'; } } } stringBuilder.append(encodeChar); } return stringBuilder.toString(); } /** * 对字符串进行解密 */ public static String decodeStr(String srcEncodeStr){ if (srcEncodeStr == null || srcEncodeStr.trim().isEmpty()) { System.out.println("输入待解密字符串为空!"); return null; } int length = srcEncodeStr.length(); if (length>1000){ System.out.println("输入待解密字符串太长,超过1000个字符!"); return null; } for (int i = 0; i < length; i++) { char charTemp = srcEncodeStr.charAt(i); if (!(Character.isDigit(charTemp) || Character.isLowerCase(charTemp) || Character.isUpperCase(charTemp))){ System.out.println("输入待加密字符串非法!"); return null; } } StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < length; i++) { Character decodeChar=null; char charTemp = srcEncodeStr.charAt(i); if (Character.isDigit(charTemp)){ if (charTemp > '0'){ decodeChar = (char) (charTemp - 1); }else { decodeChar='9'; } }else { if (Character.isLowerCase(charTemp)){ char newChar = (char) (charTemp - 32); if (newChar > 'A'){ decodeChar = (char) (newChar - 1); }else { decodeChar='Z'; } }else { char newChar = (char) (charTemp + 32); if (newChar > 'a'){ decodeChar = (char) (newChar - 1); }else { decodeChar='z'; } } } stringBuilder.append(decodeChar); } return stringBuilder.toString(); }#我想去国央企的原因##机械人值得去的车企##实习要如何选择和准备?#
Java技术 文章被收录于专栏
JavaEE技术 编程开发经验 企业通用技术