黑马程序员技术交流社区

标题: 破釜沉舟&& [打印本页]

作者: 从不闪躲    时间: 2014-9-11 23:24
标题: 破釜沉舟&&
/*
某个公司采用公用电话传递数据信息,数据8位的整数,为了确保安全,在传递过程中需要加密,加密规则如下:
    首先将数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,
    最后将第一位和最后一位数字交换。 请任意给定8位的整数,然后,把加密后的结果在控制台打印出来。
*/
class JiaMi
{
public static void main(String[] args)
{
  aaa(12345678);
}
public static void aaa(int i){
  System.out.println(i);
  System.out.println("====================================");
  //球各位数字,再进行倒叙
  int qianWan=i/10000000;
  int baiWan=i/1000000%10;
  int shiWan=i/100000%10;
  int wan=i/10000%10;
  int qian=i/1000%10;
  int bai=i/100%10;
  int shi=i/10%10;
  int ge=i%10;
  int shu=ge*10000000+shi*1000000+bai*100000+qian*10000+wan*1000+shiWan*100+baiWan*10+qianWan;
  System.out.println(shu);
  System.out.println("====================================");
  //求倒叙后的各位数字
  qianWan=shu/10000000;
  baiWan=shu/1000000%10;
  shiWan=shu/100000%10;
  wan=shu/10000%10;
  qian=shu/1000%10;
  bai=shu/100%10;
  shi=shu/10%10;
  ge=shu%10;
  //各位数字加5的和对10取模
  qianWan=(qianWan+5)%10;
  baiWan=(baiWan+5)%10;
  shiWan=(shiWan+5)%10;
  wan=(wan+5)%10;
  qian=(qian+5)%10;
  bai=(bai+5)%10;
  shi=(shi+5)%10;
  ge=(ge+5)%10;
  shu=ge*10000000+baiWan*1000000+shiWan*100000+wan*10000+qian*1000+bai*100+shi*10+qianWan;
  System.out.println(shu);
  System.out.println("====================================");
}
}


作者: 思维    时间: 2014-9-12 10:43
你写的程序目测很复杂的样子!
作者: 从不闪躲    时间: 2014-9-12 23:16
思维 发表于 2014-9-12 10:43
你写的程序目测很复杂的样子!

开始的写的,没有给个方法封装改进.
作者: 从不闪躲    时间: 2014-9-12 23:18
思维 发表于 2014-9-12 10:43
你写的程序目测很复杂的样子!

已用数组解决




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