Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java计算反函数_Java_Lambda - Fatal编程技术网

用Java计算反函数

用Java计算反函数,java,lambda,Java,Lambda,我在Java中有一些函数 Function<BigDecimal, BigDecimal> f = x -> {/*..*/} 函数f=x->{/*..*/} 我能通过输出找到输入值吗,即我能以某种方式计算反函数吗 谢谢 Java中没有自动的“求逆”方法。但是,您当然可以自行实现反函数。对于许多实际函数,它们的逆函数都有很好的文档记录,并且/或者可以使用正确的算法轻松计算。只有当基函数是一个函数时,才能计算逆函数 在数学中,内射函数或内射函数或一对一函数是一个保持显著性的函

我在Java中有一些函数

Function<BigDecimal, BigDecimal> f = x -> {/*..*/}
函数f=x->{/*..*/}
我能通过输出找到输入值吗,即我能以某种方式计算反函数吗


谢谢

Java中没有自动的“求逆”方法。但是,您当然可以自行实现反函数。对于许多实际函数,它们的逆函数都有很好的文档记录,并且/或者可以使用正确的算法轻松计算。

只有当基函数是一个函数时,才能计算逆函数

在数学中,内射函数或内射函数或一对一函数是一个保持显著性的函数:它从不将其域的不同元素映射到其辅域的相同元素

通常,java函数不是内射函数。例如,
toUpperCase
不是内射的,因为

Ciao -> CIAO
ciao -> CIAO
cIaO -> CIAO
函数还可以使用依赖于时间或随机生成的内部信息。在这些情况下,不可能创建反函数


然而,对于内射函数,可以创建反函数,但它不是一个自动过程,

当然不是自动过程。在一般情况下,反函数可以返回许多值,例如,对于
x->x*x
9
的反数值为
3
-3
;对于
x->sin(x)
而言
0
的反数值为
PI*k
(其中k为任意整数);因此,您必须在第一种情况下指定域(
[0..Inf)
,并且
[-PI/2..PI/2]
在第二个)中,逆函数应该在哪里查找否。如果它是单向函数,则不能。您的问题是函数特定的…但您没有提供任何特定的函数。@Plirkee:单向函数意味着它的逆函数非常复杂,但从技术上讲,它可能非常复杂computed@Dmitry拜琴科:反过来呢
x->0
的功能?“这不是一个自动过程”.你是说不可能自动完成吗?为什么?Thanks@pabvid不是一个自动过程,因为您需要了解一对一函数背后的规则。没有可用于查找原始值的自动机械过程,除非您在另一个函数中应用反向逻辑。您可以在上应用反向逻辑如果你手工写的话。
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);
    }
}