miércoles, 12 de noviembre de 2008

Problema 5 Practica 2

public class Practi02E5 {
public static void main(String[ ] args) {
int [ ] size = {1000, 10000, 100000};
long [ ] tiempos= new long [ 2*size.length];
Temporizador t = new Temporizador(1);
CronometraObjetosString COS=new CronometraObjetosString(1);
CronometraObjetosStringBuilder COSB=new CronometraObjetosStringBuilder(1);

for(int i=0;i < size.length;i++){
COS.setRepeticiones(size[ i]);
COSB.setRepeticiones(size[ i]);
t.cronometra(COS);
tiempos[ 2*i]=t.getTiempoMinimo();
t.cronometra(COSB);
tiempos[ 2*i+1]=t.getTiempoMinimo();
}
for(int i=0;i < size.length;i++){
System.out.println("Tiempo de String para "+size[ i]+" elementos: "+tiempos[ 2*i]+" ns");
System.out.println("Tiempo de StringBuilder para "+size[ i]+" elementos: "+tiempos[ 2*i]+" ns");
}


}

}

public class CronometraObjetosString implements EstrategiaSolucion{
private int n;

public CronometraObjetosString(int n){
this.n=n;
}

public void setRepeticiones(int n){
this.n=n;
}

public void procesamientoFinal() {
}

public void procesamientoInicial() {
}

public void solucion() {
String s="";
for (int c = 0; c < n; c++)
s +="A";
}

}


public class CronometraObjetosStringBuilder implements EstrategiaSolucion{

private int n;

public CronometraObjetosStringBuilder(int n){
this.n=n;
}

public void setRepeticiones(int n){
this.n=n;
}

public void procesamientoFinal() {

}

public void procesamientoInicial() {

}

public void solucion() {
StringBuilder sb = new StringBuilder("");
for (int c = 0; c < n; c++)
sb.append("A");
}

}

No hay comentarios: