我一直在研究一个项目,以显示使用扫描器的读取输入比使用缓冲读取器慢,这比使用我们自己的使用适当操作解析整数的函数要慢。为此,我会在每种情况下记下执行时间以读取输入。JAVA:计算运行时错误的执行时间
long startTime,endTime,duration;
startTime=System.nanoTime();
/* Reading input via scanner */
endTime=System.nanoTime();
duration = endTime - startTime;
System.out.println(duration);
startTime=System.nanoTime();
/* Reading input via buffered reader */
endTime=System.nanoTime();
duration = endTime - startTime;
System.out.println(duration);
startTime=System.nanoTime();
/* Reading input via own function for I/O */
endTime=System.nanoTime();
duration = endTime - startTime;
System.out.println(duration);
我得到运行时错误在上面的代码,如果我尝试运行在一个程序中所有三个。但是,如果我一次只使用一种方法,则可以正常工作。我怀疑在计算执行时间方面存在一些问题。请帮忙。
这里是我的代码http://ideone.com/BwvAXr
你可以发布堆栈跟踪吗?你发表评论的代码可能是问题的根源。请张贴,以及。 – bknopper
如果您不会告诉我们错误是什么,那么很难提供帮助。 – kdgregory
在我看来,错误来自读取输入的代码。你是从'stdin'读取还是打开一个文件?你对每种方法使用单独的文件阅读器吗?如果是这样,你怎么打开它,你记得关闭它吗? –