?? temporizador.java
字號:
/*
* Temporizador.java
*/
package temporizadores;
import soluciones.EstrategiaSolucion;
/**
* Contiene toda la l骻ica necesaria para medir tiempos de
* ejecuci髇 de algoritmos. Para medir un algoritmo, la clase que
* lo contenga tiene que implementar la interfaz <b>EstrategiaSolucion</b>.
* Sus m閠odos se utilizan en esta clase. Para medir el tiempo de
* ejecuci髇, se crea un objeto Temporizador y se invoca al m閠odo
* cronometra, pas醤dole como argumento el objeto que implementa la
* interfaz Temporizable. El m閠odo <tt>cronometra</tt> mide el
* tiempo de ejecuci髇 de su <i>solucion</i>. Posteriormente se
* puede tomar su tiempo medio o su tiempo m韓imo. Si se imprime un
* objeto temporizador se obtiene informaci髇 sobre el tiempo m韓imo
* de ejecuci髇. Los tiempos son medidos en nanosegundos, usando la
* funci髇 <tt>System.nanoTime()</tt>
*
* @version 2.0, 01/09/2005
* @see EstrategiaSolucion
* @since jdk 5.0
*/
public class Temporizador {
/**
* El n鷐ero de veces que queremos calcular el tiempo de
* ejecuci髇 del algoritmo a medir. El tiempo m韓imo o el tiempo
* de 閟te.
*/
private int numPruebas;
/**
* Almacena el tiempo de ejecuci髇, en nanosegundos, de cada una
* de las <code>numPruebas</code> ejecuciones del algoritmo a
* medir. Sobre 閘 se calcula la media y el m韓imo.
*/
private long[] tiempos;
/**
* Crea un objeto temporizador. Valida que el argumento sea
* mayor que cero.
*
* @param numPruebas el n鷐ero de veces que se va a medir el
* tiempo.
* @throws IllegalArgumentException si el n鷐ero de pruebas
* es cero o negativo.
*/
public Temporizador(int numPruebas) {
if (numPruebas <= 0) {
throw new IllegalArgumentException(
"N鷐ero de pruebas incorrecto");
}
this.numPruebas = numPruebas;
tiempos = new long [numPruebas];
}
/**
* Crea un objeto temporizador que se ejecutar
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -