当前位置: 代码迷 >> J2SE >> 初学者求此题代码
  详细解决方案

初学者求此题代码

热度:86   发布时间:2016-04-24 12:27:32.0
菜鸟求此题代码。
实现一个数字加密器,加密规则是:加密结果=(整数*10+5)/2+3.14159,加密结果仍为一个整数。

------解决方案--------------------
实现了一下,供楼主参考
Java code
public class EncodingTest{    public static void main(String[] args)    {        int original = 125;        int encrypted = Encoder.encode(original);        System.out.println(original + ":" + Encoder.decode(encrypted));    }        }class Encoder{    public static int encode(int original)    {        /*         * 结果进行类型转换的时候,相当于舍去小数部分0.64159(忽略精度损失),         * 其中,0.5是5除以2的时候贡献出来的,剩下是3.14159贡献出来的         */        return (int)((original * 10 + 5) / 2 + 3.14159);    }    public static int decode(int encrypted)    {        /*         * 加上0.0001是考虑到有可能发生精度损失         */        return (int)(((encrypted + 0.64159 -3.14159 + 0.0001) * 2 - 5) / 10);    }}
  相关解决方案