# Standard Normal Distribution (SND) – Java Program

Last Updated : 06 Feb, 2018

The standard normal distribution is a special case of the normal distribution. It occurs when a normal random variable has a mean of 0 and a standard deviation of 1. The normal random variable of a standard normal distribution is called a standard score or a z score.
A conversion from Normally distributed to Standard Normally distributed value occurs via the formula,

```Z = (X - u) / s
where:
Z = value on the standard normal distribution
X = value on the original distribution
u = mean of the original distribution
s = standard deviation of the original distribution
```

Code –

 `// Java code to demonstrate the naive method ` `// of finding Z-value ` ` `  `import` `java.io.*; ` `import` `java.util.*; ` ` `  `class` `SDN { ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// initialization of variables ` `        ``double` `Z, X, s, u; ` `        ``X = ``26``; ` `        ``u = ``50``; ` `        ``s = ``10``; ` ` `  `        ``// master formula ` `        ``Z = (X - u) / s; ` ` `  `        ``// print the z-value ` `        ``System.out.println(``"the Z-value obtained is: "` `+ Z); ` `    ``} ` `} `

Output –

```the Z-value obtained is: -2.4
```

Generating a Random Standard Normal Function – Using nextGaussian() in Java :
The nextGaussian() method is used to get the next random, Normally distributed double value with mean 0.0 and standard deviation 1.0.

```Declaration :
public double nextGaussian()
Parameters :
NA
Return Value :
The method call returns the random, Normally distributed double value
with mean 0.0 and standard deviation 1.0.
Exception :
NA
```

The following example shows the usage of java.util.Random.nextGaussian():

Code –

 `// Java code to demonstrate the working ` `// of nextGaussian() ` `import` `java.util.*; ` ` `  `public` `class` `NextGaussian { ` ` `  `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` ` `  `        ``// create random object ` `        ``Random ran = ``new` `Random(); ` ` `  `        ``// generating integer ` `        ``double` `nxt = ran.nextGaussian(); ` ` `  `        ``// Printing the random Number ` `        ``System.out.println(``"The next Gaussian value generated is : "` `+ nxt); ` `    ``} ` `} `

Output –

```The next Gaussian value generated is : -0.24283691098606316
```

Previous
Next