import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
/**
* 背包的典型用例。
* 计算标准输入中所有double值平均值和样本标准差
* sum/N 每个值和平均值差的平方之和除以N-1之和的平方根
* @author ASUS
*
*/
public class Stats {
public static void main(String[] args) {
Bag<Double> numbers = new Bag<Double>();
while(!StdIn.isEmpty())numbers.add(StdIn.readDouble());
int N = numbers.size();
double sum = 0.0;
for (Double x : numbers) {
sum += x;
}
double mean = sum/N;
sum=0.0;
for (Double x : numbers) {
sum+=(x-mean)*(x-mean);
}
double std= Math.sqrt(sum/(N-1));
StdOut.printf("mean:%.2f\n",mean);
StdOut.printf("std dev:%.2f\n", std);
}
}
Run As–>Run Configurations–>Commom–>Input File
在Input File里面输入要读取的文本文件
如果还有arg[0]的就在Arguments里面输入参数就可以了。
点Run后控制窗口没东西,需要结束输入流。
输入流最后结束按Ctrl+z 如果不行 按Ctrl+d
代码实现: