首页 > 解决方案 > java - 如何将返回的数组重新分配给java中的预先存在的数组

问题描述

这是代码,sigmoid 和 dot 方法返回一个二维数组。在 sigmoid 和 dot 方法中,命名为 的数组outputs是这样定义的;
double[][] outputs = new double[size1][size2];, 并返回return outputs;.

代码中的这一部分返回错误“变量输出可能尚未初始化”,这是由这段代码引起的;
System.out.println("Outputs after training are: " + Arrays.toString(outputs));.

double[][] outputs;
for(int i = 0; i < 1; i++){
    inputLayer = trainingInputs;
    outputs = sigmoid(dot(inputLayer, synapticWeights));
}
System.out.println("Outputs after training are: " + Arrays.toString(outputs));

我想摆脱错误,以便outputs可以将数组打印到控制台中。

标签: javaarraysmultidimensional-arrayinitializationreturn

解决方案


您已经声明了一个变量输出,它可能会在您的for循环中被初始化。您应该在声明时使用 null 对其进行初始化。你的代码应该是这样的。下面的代码片段:

double[][] outputs = null;
for(int i = 0; i < 1; i++){
  inputLayer = trainingInputs;
  outputs = sigmoid(dot(inputLayer, synapticWeights));
}
System.out.println("Outputs after training are: " + Arrays.toString(outputs));

推荐阅读