我不断收到错误此行的多个标记 - 语法错误,插入“)”完成 表达 - 令牌“>”上的语法错误,无效( - x无法解析为变量 - 令牌“>”上的语法错误,无效( - x无法解析为变量
public Neuron adjust(){
Neuron neuron = new Neuron(layerType());
IntStream.range(0, weights.length).forEach(x -> neuron.weights[x]=weights[x] + Math.random()-0.5);
neuron.threshold=threshold+Math.random()-0.5;
return neuron;
}
答案 0 :(得分:2)
您的代码使用了作为Java 8新功能的流和lambda函数。如果您尝试使用Java 7编译该代码,或者使用“1.7编译器合规级别”,那么这些错误是我期望看到的。 Java 8 IDE提供。
你有几个选择。
for( int x = 0; x < weights.length; x++ ) {
neurons.weights[x] = weights[x] + Math.random() - 0.5;
}
坦率地说,即使我使用Java 8,我也会以这种方式编写代码。大多数人会发现for
循环比你编写的代码行更容易阅读。当一个简单,清晰的for
循环可以解决这个问题时,使用stream和lambdas毫无意义。