我在Java中有一些功能。
Function<BigDecimal, BigDecimal> f = x -> {/*..*/}
我可以通过输出找到输入值,即我可以以某种方式计算反函数吗?
感谢。
答案 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);
}
}