这比较了使用 Math.sqrt 和牛顿法求平方根所需的时间。我应该为此添加允许客户端停止并重新启动秒表的方法,但我不确定如何执行此操作。不幸的是,搜索其他问题并没有带来太多的运气。因为这是一门课,我不希望给我直接的答案,但是一些建议,或者一个关于如何实现我的目标的教程的链接会很好。谢谢你的帮助。
public class Stopwatch
{
private final long start;
public Stopwatch()
{ start = System.currentTimeMillis(); }
public double elapsedTime()
{
long now = System.currentTimeMillis();
return (now - start) / 1000.0;
}
public static void main(String[] args)
{
int N = Integer.parseInt(args[0]);
double totalMath = 0.0;
Stopwatch swMath = new Stopwatch();
for (int i = 0; i < N; i++)
totalMath += Math.sqrt(i);
double timeMath = swMath.elapsedTime();
double totalNewton = 0.0;
Stopwatch swNewton = new Stopwatch();
for (int i = 0; i < N; i++)
totalNewton += Newton.sqrt(i);
double timeNewton = swNewton.elapsedTime();
System.out.println(totalNewton/totalMath);
System.out.println(timeNewton/timeMath);
}
}