我正在努力在神经网络中编写一个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值包括为属性之一。因此,您可以同时访问Double
和SNeuronLayer
。
假设您有一个名为SNeuronLayer
的类。比在其中保留以下属性。
class SNeuronLayer{
int numNeurons;
double your_double;
}
现在将数组列表定义为:
ArrayList<SNeuronLayer> list;
因此,您可以通过
list.get(i).your_double;
您可以像这样访问Int值:
list.get(i).numNeurons;