编写一个可视化的求平均值的Java程序
1.首先下载两个jar库:stdlib.jar和algs4.jar包
点击下载
2.将这两个包导入自己的Eclipse中:
步骤如下:
1、右键点击你需要添加jar包的项目。
2、选择“Properties”。
3、然后选择对话框中的“Java Build Path”。
4、选择“Libraries”选项卡,然后点击右边的“Add External JARS“,然后找到你的jar所存放的路径,选择需要添加的jar包。
5、点击“OK”完成。
经过以上步骤即可添加好jar包。
注意:如果是添加系统所带有的jar,在第4步的时候选择“Add JARS”,其他步骤相同。
好了,记住要下载并导入这两个jar包,然后:
1.这个是画图的类
import edu.princeton.cs.algs4.StdDraw;
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(0.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,mean());
}
public double mean()
{
return total/N;
}
}
2.这个是主程序:
import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.StdRandom;
import java.util.Scanner;
public class TestVisualAccumulator {
public static void main(String[] agrs)
{
Scanner In=new Scanner(System.in);
int T=In.nextInt();
VisualAccumulator a=new VisualAccumulator(T,1.0);
for(int t=0;t<T;t++)
a.addDataValue(StdRandom.random());
StdOut.println(a);
}
}
3.完整程序: 也就是要建立两个类
import edu.princeton.cs.algs4.StdDraw;
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(0.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,mean());
}
public double mean()
{
return total/N;
}
}
import edu.princeton.cs.algs4.StdOut;
import edu.princeton.cs.algs4.StdRandom;
import java.util.Scanner;
public class TestVisualAccumulator {
public static void main(String[] agrs)
{
Scanner In=new Scanner(System.in);
int T=In.nextInt();
VisualAccumulator a=new VisualAccumulator(T,1.0);
for(int t=0;t<T;t++)
a.addDataValue(StdRandom.random());
StdOut.println(a);
}
}
输入:
1000
然后结果如下图: