gpt4 book ai didi

Java - 函数作为参数

转载 作者:行者123 更新时间:2023-12-04 06:47:14 25 4
gpt4 key购买 nike

我阅读了关于 passing function as parameter 的下一个答案.

不过,我还是不明白。我的函数可以获取任意函数:sin(x)、cos(x)等。

据我了解,我可以创建一个接口(interface),例如:

public interface functionI<T> {

}

那会包裹它。

现在我有了我的功能:

    public void needToDo(functionI<Integer> a, int x0Par, int hPar){
}

(needToDo,比如需要将函数n的x代入x0par和hPar,求Max。如果我得到sin(x),我需要求sin(x0Par)和(sin( hPar)).

我不明白我是如何在我的函数中使用它的。当我得到函数时,我怎么知道该做什么,它可以是任何东西(多项式、sin(x) 等等)

最佳答案

像这样:

public interface Function1<RESULT,INPUT> {
RESULT call(INPUT input);
}

public class Sin implements Function1<Double,Double> {
public static final Sin instance = new Sin();
private Sin() {
}
public Double call(Double x) {
return Math.sin(x);
}
}

public Double needToDo(Function1<Double,Double> aFunction, Double x0Par, Double hPar) {
Double d1 = aFunction.call(x0Par);
Double d2 = aFunction.call(hPar);
return d1 > d2 ? d1 : d2;
}

public static void main(String[] args) {
Double x0Par = 10.2;
Double hPar = 1.9;
Double ret = needToDo(Sin.instance, x0Par, hPar);
System.out.println(ret);
}

关于Java - 函数作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8623678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com