首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学者求此题代码

2012-01-23 
菜鸟求此题代码。实现一个数字加密器,加密规则是:加密结果(整数*10+5)/2+3.14159,加密结果仍为一个整数。[

菜鸟求此题代码。
实现一个数字加密器,加密规则是:加密结果=(整数*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);    }} 

热点排行