![技术分享图片](http://r.photo.store.qq.com/psb?/f33bb27a-608a-4097-811a-86bbde18cf7a/NzT7RxIo*ifJ2Zf5EbeF8T37Peg9E*wd2BYRkcHbGdo!/o/dLIAAAAAAAAA&ek=1&kp=1&pt=0&bo=BgI1AgYCNQIDACU!&tl=1&su=0194221777&tm=1540436400&sce=0-12-12&rf=2-9)
![技术分享图片](http://r.photo.store.qq.com/psb?/f33bb27a-608a-4097-811a-86bbde18cf7a/.yEOxGmLvdSSqFPGFwWov8vfK1r0whflm3lY4Yytbrk!/o/dKoAAAAAAAAA&ek=1&kp=1&pt=0&bo=pQIaAaUCGgEDACU!&tl=1&su=0243849505&tm=1540436400&sce=0-12-12&rf=2-9)
public class test
{
public static void main(String[] args)
{
int T=Integer.parseInt(args[0]);
VisualAccumulator a=new VisualAccumulator(T,1.0);
for (int t=0;t<T;t++)
a.addDataValue(StdRandom.random());
StdOut.println(a);
}
}
////////////////////////////
public class VisualAccumulator
{
private double total;
private int N;
public VisualAccumulator(int trials,double max)
{
StdDraw.setXscale(0,trials);
StdDraw.setYscale(0,max);
StdDraw.setPenRadius(.005);
}
public void addDataValue(double val)
{
N++;
total+=val;
StdDraw.setPenColor(StdDraw.DARK_GRAY);
StdDraw.point(N,val);
StdDraw.setPenColor(StdDraw.RED);
StdDraw.point(N,total/N);
}
public double mean()
{
return total/N;
}
public String toString()
{
return "Mean (" +N+" values): "+String.format("%7.5f",mean());
}
}