初学java看到黑马的试题很有兴趣,随便试试,如有错误,请高手指出.
题目
1:(Java基础知识的考察)
某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:
首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换。
请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。
代码
package com.my.test;
public class Encoding {
/**
* 将每一位分离
* @param content
* @return
*/
public static String change(String content) {
String str = "";
for (int i = 0; i < content.length(); i++) {
str += " " + content.substring(i, i + 1);
}
return str;
}
/**
* 拆分成整形数组加密
* @param content
* @return
*/
public static String encoding(String content) {
String[] arr = change(content).split(" ");
String str = "";
for (int s = 2; s < arr.length - 1; s++) {
str += jiami(arr[s]);
}
str = jiami(arr[arr.length - 1]) + str + jiami(arr[1]);//首尾交换
//System.out.println(str);
return str;
}
/**
* 加密
* @param s
* @return
*/
public static String jiami(String s) {
String str = (Integer.parseInt(s) + 5) % 10 + "";
return str;
}
public static void main(String[] args) {
System.out.println(encoding("12345678"));
}
}