黑马程序员技术交流社区
标题:
呵呵-不会啦,跪求帮助
[打印本页]
作者:
gjggw123
时间:
2013-6-12 12:45
标题:
呵呵-不会啦,跪求帮助
请各位帮忙来看下我这个需求应该怎么写代码,我有点思想,但不知道怎么下手.....各位帮忙
某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:
首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换。
请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。
例如:
int number = 123456;
/*
654321
10 9876
609871
*/
最好多给几种方法;谢谢
作者:
gjggw123
时间:
2013-6-12 13:10
尹桥印 发表于 2013-6-12 13:00
将数据每一位存放于数组内操作吧。
题目不可改的呢
作者:
Heart
时间:
2013-6-12 14:49
其实并不难的,代码如下:
public static void jiaMi(int num) {
/**
* 某个公司采用公用电话传递数据信息,数据是小于8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:
* 首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,最后将第一位和最后一位数字交换。
* 请任意给定一个小于8位的整数,然后,把加密后的结果在控制台打印出来。
*/
//int num = 123456;
String str = String.valueOf(num); //整数转字符串
StringBuffer sb = new StringBuffer(str);
str = sb.reverse().toString(); //反转字符串
sb.setLength(0); //清空StringBuffer中内容
for(int i=0;i<str.length();i++){
int a = Integer.parseInt(str.charAt(i)+"")+5; //每位数字都加上5
sb.append(a%10); //用和除以10的余数代替该数字
}
char start = sb.charAt(0);
int length = sb.length();
sb.replace(0, 1, sb.charAt(length-1)+"");
sb.replace(length-1, length, start+"");
System.out.println(sb.toString());
}
复制代码
作者:
孙百鑫
时间:
2013-6-13 06:18
楼主您好!如果问题得到解决请将题目改成"已解决"
编辑文章-->修改 如果问题没有得到解决请继续发问谢谢您的配合{:soso_e100:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2