![]() |
#2
疯狂的小a2018-05-22 19:15
![]() package com.xiaoa.test; import static java.lang.System.out; import java.util.Scanner; /** * * 输入1个四位数,将其加密后输出。加密方法是将该数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。 * 例如: 输入: 1257 输出: The encrypted number is * 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601) */ public class Demo { @SuppressWarnings("resource") public static void main(String[] args) { out.println("请输入一个四位数:"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); // 判断数字是否是四位数 Boolean flag = test(num); // 将各个位上的数字加密 if (!flag) { out.println("数字不符合要求!"); return; } else { // 将数字拆分 String str = num + ""; String[] strs = str.split(""); // 创建一个数组 int[] arr = new int[strs.length]; // 遍历数组 for (int i = 0; i < arr.length; i++) { int encrypt = encrypt(strs[i]); arr[i] = encrypt; } // 将加密后的数组arr,调整顺序 int[] arr2 = change(arr); // 将数组转换成数字输出 StringBuffer sb = new StringBuffer(); for (int i : arr2) { sb.append(i + ""); } String string = sb.toString(); int result = Integer.parseInt(string); out.println("The encrypted number is " + result); } } //交换数组元素位置 private static int[] change(int[] arr) { for (int i = 0; i < arr.length; i++) { if (i == 0) { int temp = arr[0]; arr[0] = arr[2]; arr[2] = temp; } if (i == 1) { int temp = arr[1]; arr[1] = arr[3]; arr[3] = temp; } } return arr; } //加密 private static int encrypt(String str) { int num = Integer.parseInt(str); int a = num + 9; int b = a % 10; return b; } // 测试是否是四位数 private static Boolean test(int num) { Boolean flag = false; if (num >= 1000 && num <= 9999) { flag = true; } return flag; } } ![]() |
1.数字加密。
输入1个四位数,将其加密后输出。加密方法是将该数每一位上的数字加9,然后除以10取余,作为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例如:
输入:
1257
输出:
The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)