黑马程序员技术交流社区

标题: 加密问题 [打印本页]

作者: 人在旅途~东营    时间: 2015-5-31 23:02
标题: 加密问题
学习了一个加密的案例:  键盘录入一个数字(数据是小于8位的整数),并进行加密
       加密规则如下:
                首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,
                最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,
                然后,把加密后的结果在控制台打印出来。
  1. import java.util.Scanner;
  2. public class Test14 {

  3.         public static void main(String[] args) {
  4.                 // 键盘录入数据
  5.                 Scanner sc = new Scanner(System.in);
  6.                 // 提示:
  7.                 System.out.println("请输入一个1-8位的数字:");
  8.                 int number = sc.nextInt();
  9.                 String result = fun(number);
  10.                 System.out.println("加密后的数据是:" + result);
  11.         }

  12.         private static String fun(int number) {
  13.                 // 将数字存储到数组中
  14.                 int index = 0;
  15.                 int[] arr = new int[8];
  16.                 while (number > 0) {
  17.                        
  18.                                 arr[index] = number % 10;
  19.                                 index++;
  20.                                 number /= 10;
  21.                        
  22.                 }
  23.                 // 将每位数字加5,再用和除以10的余数代替该数字,
  24.                 for (int i = 0; i < index; i++) {
  25.                         arr[i] += 5;
  26.                         arr[i] %= 10;
  27.                 }
  28.                 // 最后将第一位和最后一位数字交换。
  29.                 int temp = arr[0];
  30.                 arr[0] = arr[index - 1];
  31.                 arr[index - 1] = temp;

  32.                 // 做一个字符串的拼接
  33.                 String s = "";
  34.                 for (int i = 0; i < index; i++) {
  35.                         s += arr[i];

  36.                 }
  37.                 return s;

  38.         }

  39. }
复制代码

作者: 下一页5    时间: 2015-6-1 00:22
学习的好扎实啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2