代码例程:
/** * 数据加密传输 */ import java.util.Scanner; public class secretPass { public static void main(String[] args) { Scanner input = new Scanner(System.in); int num = 0; while (true) { System.out.println("请输入四位正整数:"); num = input.nextInt(); if (num > 999 && num < 10000) { System.out.println("输入数据有效!"); break; } else { System.out.println("输入数据无效,请重新输入!"); } } System.out.println("加密前的数据是:" + num); int[] arrs = new int[4]; arrs[0] = num % 10; // 取个位 arrs[1] = num / 10 % 10; // 取十位 arrs[2] = num / 100 % 10; // 取百位 arrs[3] = num / 1000; // 取千位 // 不能使用for-each语句改变arrs数组的元素 // for-each只能用来遍历打印数组元素 for (int n : arrs) { n = (n + 5) % 10; System.out.print(n+" "); } /* for (int i = 0; i < arrs.length; i++) { arrs[i] = (arrs[i] + 5) % 10; } */ /* for (int i = 0; i < arrs.length; i++) { System.out.print(arrs[i] + " "); } */ int tmp1 = arrs[0]; int tmp2 = arrs[1]; int tmp3 = arrs[2]; int tmp4 = arrs[3]; arrs[0] = tmp4; arrs[1] = tmp3; arrs[2] = tmp2; arrs[3] = tmp1; System.out.print("加密后的数据是:"); for (int i : arrs) { System.out.print(i); } } } 输出结果是:
请输入四位正整数: 1234 输入数据有效! 加密前的数据是:1234 9 8 7 6 加密后的数据是:1234
修改后的例程:
/**
* 数据加密传输 */ import java.util.Scanner; public class secretPass { public static void main(String[] args) { Scanner input = new Scanner(System.in); int num = 0; while (true) { System.out.println("请输入四位正整数:"); num = input.nextInt(); if (num > 999 && num < 10000) { System.out.println("输入数据有效!"); break; } else { System.out.println("输入数据无效,请重新输入!"); } } System.out.println("加密前的数据是:" + num); int[] arrs = new int[4]; arrs[0] = num % 10; // 取个位 arrs[1] = num / 10 % 10; // 取十位 arrs[2] = num / 100 % 10; // 取百位 arrs[3] = num / 1000; // 取千位 // 不能使用for-each语句改变arrs数组的元素 // for-each只能用来遍历打印数组元素 /* for (int n : arrs) { n = (n + 5) % 10; System.out.print(n+" "); } */ for (int i = 0; i < arrs.length; i++) { arrs[i] = (arrs[i] + 5) % 10; } /* for (int i = 0; i < arrs.length; i++) { System.out.print(arrs[i] + " "); } */ int tmp1 = arrs[0]; int tmp2 = arrs[1]; int tmp3 = arrs[2]; int tmp4 = arrs[3]; arrs[0] = tmp4; arrs[1] = tmp3; arrs[2] = tmp2; arrs[3] = tmp1; System.out.print("加密后的数据是:"); for (int i : arrs) { System.out.print(i); } } }输出结果为:
请输入四位正整数: 1234 输入数据有效! 加密前的数据是:1234 加密后的数据是:6789