elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Pausar y reanudar hilos en: 20 Diciembre 2015, 03:07 am
Muy buenas a todos. A ver si alguien me puede ayudar...

Voy a intentar a ver si me puedo explicar...

Según tengo el código:
1- Genera un número random a encontrar por los jugadores
2- Pide número de jugadores (que serán el número de hilos)
3- Los jugadores generan números aleatorios para encontrar el random del punto 1
4- Hace el jugador 1 entero y pasa al jugador 2 y lo hace entero, pasa al jugador 3 y lo hace entero...

Código:
package hilos_java; 
import java.lang.Math;
import java.util.ArrayList;
import java.util.Scanner;


public class hilos_1 extends Thread{
    static Scanner teclado = new Scanner(System.in);
    static int numeroJugadores;
    static int numeroRandomFinal = (int) (Math.random()*100);;
    int numeroRandomJugador;
    int intentos;
    int a;
    int re=0;

     
    public static void main(String[] args) throws InterruptedException {           
                 
           System.out.println("Número generado: " + numeroRandomFinal);
           System.out.print("Número de jugadores: ");
           numeroJugadores = teclado.nextInt();
           System.out.print("\n");
           hilos_1 hilos = new hilos_1();
            Thread[] Hil = new Thread[numeroJugadores];
               for (int i = 0; i < Hil.length; i++){
                   System.out.println("***** Jugador-"+(i+1)+" *****");
                   Hil[i] = new Thread(hilos);           
                   Hil[i].start();
                   Hil[i].join();             
               }
               
        }//main
     
     
     
    public void run() {
        ArrayList<Integer> numeroRepeticion = new ArrayList<Integer>();
         
            try {               
                    for (a=0; a!=numeroRandomFinal;){
                        a =  (int) (Math.random()*100);
                         
                        while (numeroRepeticion.contains(a)){
                            a =  (int) (Math.random()*100);
                        }         
                    numeroRepeticion.add(a);

                            intentos++;
         
                        System.out.println("Intentos: " + intentos + " Numero:" + a);
                         
                        sleep(10);                       

                     
                    }//for                     

                    if(a == numeroRandomFinal){                         
                        System.out.println("\nEl jugador " + currentThread().getName() + " ha acertado el número.");
                        System.out.println("Numero de intentos: " + intentos + "\n");
                        intentos = 0;
                            //sleep(1000);                     
                    }
                                             
                } catch (InterruptedException e) {
                   e.printStackTrace();
               }             
       }//run                       
     
}//class

Lo que necesito es que el jugador 1 de un número y pase al jugador 2 diciendo otro número y el jugador 3 lo mismo y se vuelva a ir al jugador 1 para sacar otro número y así sucesivamente y cuando un jugador encuentre dicho número random se pare pero que los demás jugadores no paren hasta encontrar el número...

---Lo que me hace---
Código:
Número generado: 7
Número de jugadores: 3

***** Jugador-1 *****
Intentos: 1 Numero:77
Intentos: 2 Numero:81
Intentos: 3 Numero:22
Intentos: 44 Numero:67
Intentos: 48 Numero:7

El jugador Thread-1 ha acertado el número.
Numero de intentos: 5

***** Jugador-2 *****
Intentos: 1 Numero:42
Intentos: 2 Numero:33
Intentos: 3 Numero:81

El jugador Thread-2 ha acertado el número.
Numero de intentos: 3

***** Jugador-3 *****
Intentos: 1 Numero:8

El jugador Thread-3 ha acertado el número.
Numero de intentos: 1 
---Lo que necesito---
Código:
***** Jugador-1 *****
Intentos: 1 Numero:77
***** Jugador-2 *****
Intentos: 1 Numero:42
***** Jugador-3 *****
Intentos: 1 Numero:8

***** Jugador-1 *****
Intentos: 2 Numero:73
***** Jugador-2 *****
Intentos: 2 Numero:43
***** Jugador-3 *****
Intentos: 2 Numero:33 
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines