获得-1到1之间的随机double值

unl*_*hed 7 java random

我正在用Java创建一个神经网络,需要创建一个最初生成随机权重的方法.

我需要创建一个函数,它返回-1和1之间的随机double值,但不确定执行此操作的逻辑,因此任何帮助都将是最受欢迎的.

Lou*_*man 10

您可以使用Random类的nextDouble()方法.

Random rng = new Random();
// to get a double between -1 and 1
return rng.nextDouble() * 2 - 1; // rng.nextDouble() is between 0 and 1
Run Code Online (Sandbox Code Playgroud)


Mic*_*wan 8

Math.random()将为您提供0到1之间的随机双精度.您可以将该结果乘以2,并在-1和1之间减去1作为随机双精度.

或者,您可以将相同的转换应用于对nextDouble()方法的调用java.util.Random,但这需要一个显式实例,Random而后者则在幕后完成Math.random().