在Java中计算逆函数

时间:2016-08-30 11:18:59

标签: java lambda

我在Java中有一些功能。

Function<BigDecimal, BigDecimal> f = x -> {/*..*/}

我可以通过输出找到输入值,即我可以以某种方式计算反函数吗?

感谢。

3 个答案:

答案 0 :(得分:4)

只有当基函数为injective function时才能计算反函数。

  

在数学中,内射函数或注入或一对一函数保留清晰度的函数:它永远不会将其域的不同元素映射到相同的函数其密码域的元素。

一般来说,java函数不是单射的。例如,toUpperCase不是单射的,因为

Ciao -> CIAO
ciao -> CIAO
cIaO -> CIAO

另外,函数可以使用取决于时间或随机生成的内部信息。在这些情况下,无法创建反函数。

对于内射函数,但可以创建反函数,但不是自动过程

答案 1 :(得分:2)

Java中没有自动“查找逆”方法。但是,您当然可以自由地实现反函数。对于许多现实世界的函数,它们的反演都有很好的记录和/或使用正确的算法轻松计算。

答案 2 :(得分:-1)

public class myReverse {
    public static void main(String[] args) {
        int num=54321,reverse=0; //This 54321 is any input.you can Scan new number if you want.
        while(num !=0){
            int a=num%10;
            reverse=reverse*10 + a;
            num=num/10;
        }
        System.out.println(reverse);
    }
}