Here you can find the source of stddev(final int[] scores)
public static float stddev(final int[] scores)
//package com.java2s; /*/* w w w. j a v a2 s .c om*/ * @(#)$Id$ * * Copyright 2006-2008 Makoto YUI * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Contributors: * Makoto YUI - initial implementation */ public class Main { public static float stddev(final int[] scores) { if (scores.length == 0) { return 0f; } final float v = variance(scores); return (float) Math.sqrt(v); } public static double stddev(final long[] scores) { if (scores.length == 0) { return 0f; } final double v = variance(scores); return Math.sqrt(v); } public static float variance(final int[] scores) { if (scores.length == 0) { return 0f; } final float mean = mean(scores); float variance = 0f; for (int s : scores) { float deviation = s - mean; variance += (deviation * deviation); } return variance / (scores.length - 1); } public static double variance(final long[] scores) { if (scores.length == 0) { return 0d; } final double mean = mean(scores); double variance = 0f; for (long s : scores) { double deviation = s - mean; variance += (deviation * deviation); } return variance / (scores.length - 1); } public static float mean(final int[] scores) { if (scores.length == 0) { return -1f; } long total = 0L; for (int s : scores) { total += s; } return total / scores.length; } public static double mean(final long[] scores) { if (scores.length == 0) { return -1d; } long total = 0L; for (long s : scores) { total += s; } return total / scores.length; } }