Java无法解析或不是字段
在我正在研究的神经网络中写一个for循环,它会对循环条件本身的一部分抛出一个错误 代码如下:Java无法解析或不是字段,java,for-loop,Java,For Loop,在我正在研究的神经网络中写一个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) {} } 错误在于 neur
// 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.get(i).numNeurons;
它说“numNeurons无法解决或不是一个领域”
任何帮助都将不胜感激,因为我将不得不在for循环中引用来自同一第二个类的另一个ArrayList,我想知道如何最好地表达它以确保我的代码工作。提示:当您执行
层时。get(i)
,它将返回double,因此,您无法访问SNeuronLayer
。相反,请尝试使该类成为ArrayList,并将该双值作为属性之一包含在内。因此,您可以访问Double
和SNeuronLayer
假设您有一个名为SNeuronLayer
的类。然后在其中保留以下属性
class SNeuronLayer{
int numNeurons;
double your_double;
}
现在将数组列表定义为:
ArrayList<SNeuronLayer> list;
您可以访问Int值,如:
list.get(i).numNeurons;
是的,
neurolayers.get(i)
将是一个Double
,而不是SNeuronLayer
。这是一个打字错误还是一个你真的有一个空体的循环({}
)?我不会有一个空体的循环,我只是还没有写出来,因为仔细看,我会发现我放在for循环体中的一些代码也有同样的问题。我建议您学习增强的for循环。这将允许您更轻松地循环您的ArrayList
,并简化所有neuronlayer.get(i)
调用。嘿,这很好地解释了逻辑。你能给我举个例子说明我是怎么写的吗?@JosephOliverArrayList
。啊,谢谢你!我会在我工作的类的开头声明,还是在方法的开头声明?
ArrayList<SNeuronLayer> list;
list.get(i).your_double;
list.get(i).numNeurons;