import java.util.Scanner;
import edu.princeton.cs.algs4.Bag;
import edu.princeton.cs.algs4.StdIn;
import edu.princeton.cs.algs4.StdOut;
public class Test {
public static void main(String args[])
{
Bag<Double> numbers = new Bag<Double>();
// 由控制台输入一组double类型的数,添加到包numbers中。
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 += Math.pow((x - mean), 2);
double std = Math.sqrt(sum / (N - 1));
StdOut.print("mean is: " + mean);
StdOut.print("\nstd is: " + std);
}
}
如上代码,我想问的是在控制台输入了一组数据怎么得出结果,一直都是输入的过程,按回车也是继续输入数据,怎么停止输入到背包中计算结果啊?