Anda di halaman 1dari 2

Trabajo 3 Tecnologas de la informacin

Aarn Wlter vila Crdova

1. Generar 2 hilos que muestren los nmeros del 1 al 100 en forma secuencial (primero el
hilo 1 y despus el hilo 2):

public class For extends Thread {


private int numero;

public For(int n) {
this.numero = n;
}

@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("Hilo "+numero + " -> "+ (i+1));
}
}

public static void main(String[] args) throws InterruptedException {


// TODO Auto-generated method stub
For h1 = new For(1);
For h2 = new For(2);
System.out.println("Hilo 1");
h1.start();
h1.join();
System.out.println("Hilo 2");
h2.start();
}
}

2. Generar dos hilos que simules un juego de dos dados, cada dado con 10 lanzamientos,
al final mostrar al ganador:

public class Dado extends Thread {

public int [] jugadas;

public Dado(int jugadas) {


this.jugadas = new int[jugadas];
}

@Override
public void run() {
for (int i = 0; i < jugadas.length; i++) {
jugadas[i] = (int) ( Math.random() * 6+1 );

}
}

public static void main(String[] args) throws InterruptedException {


int jugadas = 10;
int cont1 = 0;
int cont2 = 0;
int emp = 0;
Dado d1 = new Dado(jugadas);
Dado d2 = new Dado(jugadas);

d1.start();
d2.start();
d1.join();
d2.join();

System.out.println("Lanz\t|\tA\t|\tB\t| Ganador");
for (int i = 0; i < jugadas; i++) {
int v1 = d1.jugadas[i];
int v2 = d2.jugadas[i];
System.out.print((i+1)+"\t|\t"+v1+"\t|\t"+v2);
String mensaje = "";
if ( v1 > v2 ){
cont1++;
mensaje = "A";
}else if ( v1 < v2 ){
cont2++;
mensaje = "B";
}else{
emp++;
mensaje = "-";
}
System.out.println("\t|\t"+mensaje);
}

System.out.println("Dado A = "+cont1);
System.out.println("Dado B = "+cont2);
System.out.println("Empates = "+emp);
}
}
Ejemplo de salida del cdigo anterior:

Anda mungkin juga menyukai