Hola muy buenas, estoy "liado" con los hilos de java. Os expongo la idea de lo que quiero hacer a modo de aprender yo mismo proponiendome un ejemplo.
Vamos a ver:
Trata de una clase corredor y una clase pista_carera , los corredores correran en la pista hasta lelgar a la meta, en un principio son dos. Y no se como seguir, os pongo el codigo de lo que estoy haciendo.
Espero que me ayuden en lo que puedan y muchisimas gracias de antemano.
public corredor(String nombre) { distancia = 0; this.nombre = nombre; }
@Override public void run() {
while (true) { int random = (int) Math.floor(Math.random() * (1 - (10 + 1)) + (10)); distancia += random; System.out.println("[" + nombre + "]Ditancia = " + distancia + " m"); try { sleep(800); } catch (InterruptedException ex) { Logger.getLogger(corredor.class.getName()).log(Level.SEVERE, null, ex); } } }
}
public class Carrera {
public static void main(String[] args) { pista_carrera pista; corredor corredor1 = new corredor("Ernesto"); corredor corredor2 = new corredor("Jesus"); corredor1.start(); corredor2.start(); pista = new pista_carrera(corredor1, corredor2);
}
}
Por ejemplo algunas dudas asi de primeras es : ¿Si quiero que el tope de la carrera sea 100? no se donde ponerlo Ni tampoco la condicion del bucle para que se pare cuando se cumpla la condicion
Hola muy buenas, estoy "liado" con los hilos de java. Os expongo la idea de lo que quiero hacer a modo de aprender yo mismo proponiendome un ejemplo.
Vamos a ver:
Trata de una clase corredor y una clase pista_carera , los corredores correran en la pista hasta lelgar a la meta, en un principio son dos. Y no se como seguir, os pongo el codigo de lo que estoy haciendo.
Espero que me ayuden en lo que puedan y muchisimas gracias de antemano.
Codigo:
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import jdk.nashorn.internal.codegen.CompilerConstants;
class pista_carrera {
corredor corredor1;
corredor corredor2;
corredor ganador;
public pista_carrera(corredor corredor1, corredor corredor2) {
this.corredor1 = corredor1;
this.corredor2 = corredor2;
}
}
class corredor extends Thread {
private int distancia;
private String nombre;
public corredor(String nombre) {
distancia = 0;
this.nombre = nombre;
}
@Override
public void run() {
while (true) {
int random = (int) Math.floor(Math.random() * (1 - (10 + 1)) + (10));
distancia += random;
System.out.println("[" + nombre + "]Ditancia = " + distancia + " m");
try {
sleep(800);
} catch (InterruptedException ex) {
Logger.getLogger(corredor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
public class Carrera {
public static void main(String[] args) {
pista_carrera pista;
corredor corredor1 = new corredor("Ernesto");
corredor corredor2 = new corredor("Jesus");
corredor1.start();
corredor2.start();
pista = new pista_carrera(corredor1, corredor2);
}
}
Por ejemplo algunas dudas asi de primeras es : ¿Si quiero que el tope de la carrera sea 100? no se donde ponerlo
Ni tampoco la condicion del bucle para que se pare cuando se cumpla la condicion