我正在努力在神经网络中编写一个for循环,并且部分循环条件本身抛出了错误。

代码如下:

// for each neuron sum the (inputs * corresponding weights) .Throw
// the total at our sigmoid function to get the output.

for (int j = 0; j < neuronLayers.get(i).numNeurons; ++j)
    {}
}


NeuronLayers本身是一个ArrayList,定义如下:

// storage for each layer of neurons including the output layer

private ArrayList<Double> neuronLayers;


numNeurons是另一个类SNeuronLayer的整数值,其定义如下:

// the number of neurons in this layer

int numNeurons;


错误是

neuronLayers.get(i).numNeurons;


它说“ numNeurons无法解析或不是字段”。

任何帮助将不胜感激,因为我将不得不在for循环本身中引用来自同一第二类的另一个ArrayList,并且我想知道如何最好地表述它以确保我的代码正常工作。

最佳答案

提示:当您执行neuronLayers.get(i)时,它将返回双精度,因此您将无法访问SNeuronLayer。而是尝试使该类的ArrayList并将该double值包括为属性之一。因此,您可以同时访问DoubleSNeuronLayer

假设您有一个名为SNeuronLayer的类。比在其中保留以下属性。

class SNeuronLayer{
    int numNeurons;
    double your_double;
}


现在将数组列表定义为:

ArrayList<SNeuronLayer> list;


因此,您可以通过

list.get(i).your_double;


您可以像这样访问Int值:

list.get(i).numNeurons;

10-04 23:23