package UnidadIII;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
public class interfaz implements Runnable {
public static void main(String[] args) {
String mensaje = "";
byte opcion = 1;
System.out.print("Repetir mensaje 100 veces\nEscribe tu mensaje: ");
mensaje = new Scanner(System.in).next();
System.out.print("\nDesea ejecutarlo...\n1) Con procedimiento\n2) Sin procedimiento\n: ");
opcion = new Scanner(System.in).nextByte();
Proc proc=new Proc();
new Thread(new interfaz()).start();
new Thread(proc).start();
if (opcion == 1) {
new interfaz().procedimiento(mensaje, 0);
} else if (opcion == 2) {
for (int i = 0; i < 100; i++) {
System.out.println(mensaje);
}
} else {
System.err.println("Opcion no valida!");
}
System.out.println("Tiempo: " + proc.paraYDevuelve()+ " milisegundos");
}
public void procedimiento(String mensaje, int iteracion) {
System.out.println(mensaje);
if (iteracion < 100) procedimiento(mensaje, iteracion + 1);
}
@Override public void run() {}
}
class Proc implements Runnable {
private boolean continua = true;
private int contador = 0;
public int paraYDevuelve() {
continua = false;
return contador;
}
@Override public void run() {
do {
try {
Thread.sleep(1);
} catch (InterruptedException ex) {
Logger.getLogger(interfaz.class.getName()).log(Level.SEVERE, null, ex);
}
contador++;
} while (continua);
}
}
No hay comentarios:
Publicar un comentario