电子商务网站设计心得体会,东莞建网站公司品牌,网赌代理,网站搭建上海2023华为OD统一考试#xff08;AB卷#xff09;题库清单-带答案#xff08;持续更新#xff09;or2023年华为OD真题机考题库大全-带答案#xff08;持续更新#xff09; 给你一串未加密的字符串str#xff0c;通过对字符串的每一个字母进行改变来实现加密#xf…2023华为OD统一考试AB卷题库清单-带答案持续更新or2023年华为OD真题机考题库大全-带答案持续更新 给你一串未加密的字符串str通过对字符串的每一个字母进行改变来实现加密加密方式是在每一个字母str[i]偏移特定数组元素a[i]的量 数组a前三位已经赋值a[0]1,a[1]2,a[2]4。当i3时数组元素a[i]a[i-1]a[i-2]a[i-3] 例如原文 abcde 加密后 bdgkr其中偏移量分别是1,2,4,7,13。; 输入描述第一行是整数n表示n组测试数据。每组数据包含一行原文str(只含有小写字母) 例如 输入 1 xy 输出 ya public class StringEncrypt {public static void main(String[] args) {Scanner sc new Scanner(System.in);int stringLine Integer.parseInt(sc.nextLine());String[]encrypts new String[stringLine];for (int i 0; i stringLine; i){encrypts[i] sc.next();}String[] end1 encryptMe(encrypts);Arrays.stream(end1).forEach(System.out::println);}public static String[] encryptMe(String[]encrypts){String[] end new String[encrypts.length];StringBuffer sb new StringBuffer();for (int i 0; i encrypts.length; i){char[] t1 encrypts[i].toCharArray();for (int j 0; j t1.length;j){//计算偏移量int offset1 offset(j);//生成字符char value (char) ((int)t1[j] offset1);if (value 122){value (char) ((int)t1[j] offset1 - 26);}sb.append(value);}end[i] sb.toString();sb.setLength(0);}return end;}/*** 偏移量计算* param i* return*/public static int offset(int i){if (i 0){return 1;} else if (i 1) {return 2;} else if (i 2) {return 4;}else {return offset(i-1) offset(i-2) offset(i - 3);}}
}