前两天学习了Lambda表达式的一些基本用法,起因是为了编写计算方法课程实验中的拉格朗日插值程序,我想要将一个函数直接作为参数,以编写更通用的程序。
但是苦寻无果,没有找到在Java中适用的、与C中函数指针一类的东西,使用了Lambda表达式,达到了相同的效果。
一些基本的概念,我在菜鸟驿站上获得了。
下面是实际的一个程序,也就是拉格朗日插值法。
import java.util.Scanner;
public class Lagrange {
public static void main(String []args)
{
MyFunction first = (double a)->1/(1+a*a);
MyFunction second = Math::exp;
MyFunction third = Math::sqrt;
XFunction cosfun=(int k,int n)->Math.cos((double) (2*k+1)/(2*(n+1))*Math.PI);
// System.out.println(first.function(-0.05));
// lagrange(first,-5.0,10.0);//(1)
// for (int i=0;i<15;i++)
lagrange(first,cosfun