如何制作lambda或java8的流程图?

如何制作lambda或java8的流程图?,lambda,java-8,flowchart,Lambda,Java 8,Flowchart,你能帮助并教我如何用这段代码制作流程图吗? 多谢各位 public BigDecimal[][] calcMatrixHessian(BigDecimal[][] polynomialMatrix, int[] classification, double λ) { return IntStream.range(0, polynomialMatrix.length) .mapToObj(i -> IntStream.range(0, polynomialMatrix[i].

你能帮助并教我如何用这段代码制作流程图吗? 多谢各位

public BigDecimal[][] calcMatrixHessian(BigDecimal[][] polynomialMatrix, int[] classification, double λ) {
  return IntStream.range(0, polynomialMatrix.length)
      .mapToObj(i -> IntStream.range(0, polynomialMatrix[i].length)
          .mapToObj(j -> polynomialMatrix[i][j]
              .multiply(BigDecimal.valueOf(classification[i]*classification[j]))
              .add(BigDecimal.valueOf(Math.pow(λ,2))))
          .toArray(BigDecimal[]::new))
      .toArray(BigDecimal[][]::new);

流程图有助于绘制程序/命令范例。Java Streams非常实用,因此绘制流程图是没有用的,因为您将得到:

start -> return IntStream.range(0, polynomialMatrix.length)
  .mapToObj(i -> IntStream.range(0, polynomialMatrix[i].length)
      .mapToObj(j -> polynomialMatrix[i][j]
          .multiply(BigDecimal.valueOf(classification[i]*classification[j]))
          .add(BigDecimal.valueOf(Math.pow(λ,2))))
      .toArray(BigDecimal[]::new))
  .toArray(BigDecimal[][]::new); -> end
所以我们必须把它转换成一个更程序化的算法。下面是一些伪代码:

retVal = new BigDecimal[polynomialMatrix[0].length][polynomialMatrix.length]
for i = 0 to polynomialMatrix.length
    for j = 0 to polynomialMatrix[i].length
       retVal[i][j] = polynomialMatrix[i][j] * classification[i]*classification[j]
       retVal[i][j] += Math.pow(λ,2)
return retVal
现在应该更容易将其转换为流程图。你自己试试吧