gpt4 book ai didi

java - 如何使用函数 x 中的值作为函数 y 中的构造函数

转载 作者:行者123 更新时间:2023-12-02 05:12:26 26 4
gpt4 key购买 nike

我有函数NodeTransitionFunction(Integer exp, Integer KVal),它需要计算f(x) = (x ^ exp) % KVal

然后有一个函数Integer apply(Integer val),需要计算f(val)。

现在要设置 NodeTransitionFunction 的构造函数,如何从 apply 函数中获取参数 val?

或者我完全试图以错误的方式解决这个问题?

public class NodeTransitionFunction {

public NodeTransitionFunction(Integer exp, Integer KVal) {
// CONSTUCTOR: Sets the class to calculate f(x) = (x ^ exp) mod KVal

// TODO
}

public Integer apply(Integer val) {
// PRE: -
// POST: Implements f(val)
// TODO

return null;
}

public static void main(String[] args) {
NodeTransitionFunction f = new NodeTransitionFunction(3, 33);

System.out.println(f.apply(5));
}

}

最佳答案

我认为您要问的是如何将函数传递给构造函数以便以后可以应用它。如果是这种情况,您实际上根本不需要类:您定义的是 IntUnaryOperator - 即接受 int 并返回 int 的函数。

所以:

IntUnaryOperator makeNodeTransitionFunction(double exp, double mod) {
return x -> Math.round(Math.mod(Math.power(x, exp), mod));
}

然后将其应用为:

makeNodeTransitionFunction(7, 11).apply(5)

如果您需要将其放在类中,则可以将 IntUnaryOperator 设为在构造函数中分配的私有(private)字段。然后,apply 方法将仅委托(delegate)给该字段。

关于java - 如何使用函数 x 中的值作为函数 y 中的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56319356/

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